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