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;