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());

Reply via email to