This is an automated email from the ASF dual-hosted git repository.

hutcheb pushed a commit to branch plc4py/integration-test
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 5e7435581f618ced3319a411a60801339e71acc8
Author: Ben Hutcheson <ben.hut...@gmail.com>
AuthorDate: Tue May 7 05:13:02 2024 +0200

    fix(plc4py): Fix inline if statements and enable integration tests
---
 code-generation/language-python/pom.xml                  |  2 --
 .../language/python/PythonLanguageTemplateHelper.java    | 16 ++++------------
 2 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/code-generation/language-python/pom.xml 
b/code-generation/language-python/pom.xml
index 292d1489d9..ce444f27a3 100644
--- a/code-generation/language-python/pom.xml
+++ b/code-generation/language-python/pom.xml
@@ -33,8 +33,6 @@
   <description>Code generation template for generating Python 
code</description>
 
   <properties>
-    <!-- Disabled for now as the python code doesn't seem to build -->
-    <skip-code-generation-tests>false</skip-code-generation-tests>
     
<project.build.outputTimestamp>2024-02-16T14:53:02Z</project.build.outputTimestamp>
   </properties>
 
diff --git 
a/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
 
b/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
index 8c17d4e21c..671de9eeca 100644
--- 
a/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
+++ 
b/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
@@ -768,18 +768,10 @@ public class PythonLanguageTemplateHelper extends 
BaseFreemarkerLanguageTemplate
             Term b = ternaryTerm.getB();
             Term c = ternaryTerm.getC();
             String castExpressionForTypeReference = 
getCastExpressionForTypeReference(fieldType);
-            String inlineIf = "utils.InlineIf(" + toExpression(field, new 
DefaultBooleanTypeReference(), a, parserArguments, serializerArguments, 
serialize, false) + ", " +
-                "func() any {return " + castExpressionForTypeReference + "(" + 
toExpression(field, fieldType, b, parserArguments, serializerArguments, 
serialize, false) + ")}, " +
-                "func() any {return " + castExpressionForTypeReference + "(" + 
toExpression(field, fieldType, c, parserArguments, serializerArguments, 
serialize, false) + ")})";
-            if (fieldType != null) {
-                if (fieldType instanceof ByteOrderTypeReference) {
-                    return tracer.dive("byteordertypereference") + "(" + 
inlineIf + ").(binary.ByteOrder)";
-                }
-                if (fieldType.isNonSimpleTypeReference()) {
-                    return tracer.dive("nonsimpletypereference") + 
castExpressionForTypeReference + "(" + inlineIf + ")";
-                }
-                return tracer + inlineIf + ".(" + 
castExpressionForTypeReference + ")";
-            }
+            String inlineIf = toExpression(field, fieldType, b, 
parserArguments, serializerArguments, serialize, false) + " if " +
+                toExpression(field, new DefaultBooleanTypeReference(), a, 
parserArguments, serializerArguments, serialize, false) + " else " +
+                toExpression(field, fieldType, c, parserArguments, 
serializerArguments, serialize, false);
+
             return tracer + inlineIf;
         } else {
             throw new FreemarkerException("Unsupported ternary operation type 
" + ternaryTerm.getOperation());

Reply via email to