You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2021/11/26 23:30:38 UTC

[plc4x-build-tools] branch develop updated: fix: Worked hard on getting the conditions for typeSwitches strongly typed. (WIP ... currently all Java modules work, C and Go still need some polishing)

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

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x-build-tools.git


The following commit(s) were added to refs/heads/develop by this push:
     new 8c0c38b  fix: Worked hard on getting the conditions for typeSwitches strongly typed. (WIP ... currently all Java modules work, C and Go still need some polishing)
8c0c38b is described below

commit 8c0c38bf2318c371ae3b90b0085dee77b1313203
Author: cdutz <ch...@c-ware.de>
AuthorDate: Sat Nov 27 00:30:30 2021 +0100

    fix: Worked hard on getting the conditions for typeSwitches strongly typed. (WIP ... currently all Java modules work, C and Go still need some polishing)
---
 .../codegenerator/types/definitions/ComplexTypeDefinition.java        | 4 ++++
 .../types/definitions/DiscriminatedComplexTypeDefinition.java         | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java
index 837c2eb..547d5d6 100644
--- a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java
+++ b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java
@@ -175,4 +175,8 @@ public interface ComplexTypeDefinition extends TypeDefinition {
                 .anyMatch(field -> !(field instanceof DiscriminatorField) && field.getName().equals(discriminatorName));
     }
 
+    default boolean isParserArgument(String discriminatorName) {
+        return getAllParserArguments().orElse(Collections.emptyList()).stream().anyMatch(argument -> argument.getName().equals(discriminatorName));
+    }
+
 }
diff --git a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java
index 7212668..9dc55b3 100644
--- a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java
+++ b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java
@@ -18,6 +18,9 @@
  */
 package org.apache.plc4x.plugins.codegenerator.types.definitions;
 
+import org.apache.plc4x.plugins.codegenerator.types.fields.DiscriminatorField;
+import org.apache.plc4x.plugins.codegenerator.types.fields.Field;
+import org.apache.plc4x.plugins.codegenerator.types.fields.FieldConversions;
 import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
 
 import java.util.LinkedHashMap;