private int initArray()

in java/clickhouse-client/src/main/java/com/epam/deltix/clickhouse/writer/WriterCodecGenerator.java [415:449]


    private int initArray(MethodVisitor methodVisitor, Class<?> nestedType,
                          String nestedInternalName, int currentLocalVarIndex) {
        loadSizeOfNestedMemberValueOnStack(methodVisitor);

        if (!nestedType.isPrimitive()) {
            // invoke instruction for initializing reference type array
            methodVisitor.visitTypeInsn(ANEWARRAY, nestedInternalName);
        } else if (nestedType.equals(long.class)) {
            // invoke instruction for initializing long array
            methodVisitor.visitIntInsn(NEWARRAY, T_LONG);
        } else if (nestedType.equals(int.class)) {
            // invoke instruction for initializing int array
            methodVisitor.visitIntInsn(NEWARRAY, T_INT);
        } else if (nestedType.equals(short.class)) {
            // invoke instruction for initializing short array
            methodVisitor.visitIntInsn(NEWARRAY, T_SHORT);
        } else if (nestedType.equals(byte.class)) {
            // invoke instruction for initializing byte array
            methodVisitor.visitIntInsn(NEWARRAY, T_BYTE);
        } else if (nestedType.equals(float.class)) {
            // invoke instruction for initializing float array
            methodVisitor.visitIntInsn(NEWARRAY, T_FLOAT);
        } else if (nestedType.equals(double.class)) {
            // invoke instruction for initializing double array
            methodVisitor.visitIntInsn(NEWARRAY, T_DOUBLE);
        } else if (nestedType.equals(boolean.class)) {
            // invoke instruction for initializing boolean array
            methodVisitor.visitIntInsn(NEWARRAY, T_BOOLEAN);
        }
        // store an array into the local variable #'currentLocalVarIndex'
        methodVisitor.visitVarInsn(ASTORE, currentLocalVarIndex);

        localVarSize++;
        return ++currentLocalVarIndex;
    }