@Override public void visitValField(final int offsetInCompiledBlock, final JBBPNamedFieldInfo nameFieldInfo, final JBBPIntegerValueEvaluator expression) { final String fieldName = prepFldName(nameFieldInfo.getFieldName()); FieldType type = FieldType.VAL; registerNamedField(nameFieldInfo, type); final String fieldModifier = makeModifier(nameFieldInfo); processSkipRemainingFlag(); final String textFieldType = type.asJavaSingleFieldType(); if (this.builder.generateFields) { getCurrentStruct().getFields().printf("%s %s %s;%n", fieldModifier, textFieldType, fieldName); } final String valIn = evaluatorToString(NAME_INPUT_STREAM, offsetInCompiledBlock, expression, this.flagSet, false); final String valOut = evaluatorToString(NAME_OUTPUT_STREAM, offsetInCompiledBlock, expression, this.flagSet, false); getCurrentStruct().getReadFunc().println(String.format("this.%s = %s;", fieldName, valIn)); getCurrentStruct().getWriteFunc().println(String.format("this.%s = %s;", fieldName, valOut)); if (this.builder.addGettersSetters) { registerGetterSetter(textFieldType, fieldName, true); } }
structType = structBaseTypeName; if (this.builder.generateFields) { this.getCurrentStruct().getFields().indent().print(fieldModifier).printf(" %s %s;", structType, structName).println(); structType = structBaseTypeName + " []"; if (this.builder.generateFields) { this.getCurrentStruct().getFields().indent().print(fieldModifier).printf(" %s %s;", structType, structName).println();
this.getCurrentStruct().getFields().printf("%s JBBPAbstractField %s;%n", fieldModifier, fieldName);
fieldType = "JBBPAbstractArrayField<? extends JBBPAbstractField>"; if (this.builder.generateFields) { this.getCurrentStruct().getFields().printf("%s %s %s;%n", fieldModifier, fieldType, fieldName); fieldType = "JBBPAbstractField"; if (this.builder.generateFields) { this.getCurrentStruct().getFields().printf("%s %s %s;%n", fieldModifier, fieldType, fieldName);
textFieldType = type.asJavaSingleFieldType(); if (this.builder.generateFields) { getCurrentStruct().getFields().printf("%s %s %s;%n", fieldModifier, textFieldType, fieldName); textFieldType = type.asJavaArrayFieldType() + " []"; if (this.builder.generateFields) { getCurrentStruct().getFields().printf("%s %s %s;%n", fieldModifier, textFieldType, fieldName);
getCurrentStruct().getFields().indent().printf("%s %s %s;%n", fieldModifier, fieldType, fieldName);