This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit ef35531d5a872f29dccddb3a11a135b166958185 Author: Sebastian Rühl <sru...@apache.org> AuthorDate: Fri Sep 24 20:37:13 2021 +0200 fix(java/codegen): virtual field handling --- .../org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java b/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java index e12fd93..b7d8d3d 100644 --- a/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java +++ b/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java @@ -849,6 +849,9 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe } else if (isVariableLiteralImplicitField(variableLiteral)) { // If we are accessing implicit fields, we need to rely on a local variable instead. tracer = tracer.dive("implicit field"); return tracer + toSerializationExpression(getReferencedImplicitField(variableLiteral), getReferencedImplicitField(variableLiteral).getSerializeExpression(), serialzerArguments); + } else if (isVariableLiteralVirtualField(variableLiteral)) { + tracer = tracer.dive("virtual field"); + return tracer + "_value." + toVariableExpressionRest(variableLiteral); } // The synthetic checksumRawData is a local field and should not be accessed as bean property. boolean isSerializerArg = "checksumRawData".equals(variableLiteral.getName()) || "_value".equals(variableLiteral.getName()) || "element".equals(variableLiteral.getName()) || "size".equals(variableLiteral.getName());