@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);
}
}