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 2019/05/26 14:02:18 UTC

[plc4x] branch feature/code-gen updated (d3bb09b -> e39a950)

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

cdutz pushed a change to branch feature/code-gen
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from d3bb09b  - Changed the types used in the grammar to be more of a form "int(\d+)", "uint(\d+)", "float(\d+)"
     new 9dc5002  - Made it possible to distinguish between simpleTypeReferences and complexTypeReferences in the grammar.
     new e39a950  - Introduced a complexTypeReference and renamed simpleType to simpleTypeReference

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../codegenerator/parser/imaginary/Imaginary.g4    |  4 ++--
 .../plc4x/plugins/codegenerator/ProtocolModel.java | 11 +++++----
 .../codegenerator/model/fields/ArrayField.java     |  2 --
 .../codegenerator/model/fields/ConstField.java     |  2 +-
 .../model/fields/DiscriminatorField.java           |  2 +-
 .../codegenerator/model/fields/ImplicitField.java  |  2 +-
 .../codegenerator/model/fields/OptionalField.java  |  2 +-
 .../codegenerator/model/fields/ReservedField.java  |  2 +-
 .../codegenerator/model/fields/SimpleField.java    |  2 +-
 .../codegenerator/model/fields/SwitchField.java    |  2 +-
 .../model/{ => types}/ComplexType.java             |  2 +-
 .../ComplexTypeReference.java}                     |  6 ++---
 .../{ => types}/DiscriminatedComplexType.java      |  2 +-
 .../codegenerator/model/{ => types}/EnumType.java  |  2 +-
 .../SimpleTypeReference.java}                      |  6 ++---
 .../model/{ => types}/SimpleTypeVarLength.java     |  4 ++--
 .../codegenerator/model/{ => types}/Type.java      |  2 +-
 .../parser/MessageFormatListener.java              | 26 ++++++++++++++--------
 .../codegenerator/parser/MessageFormatParser.java  |  2 +-
 .../parser/ManualMessageFormatParserTest.java      |  2 +-
 20 files changed, 45 insertions(+), 40 deletions(-)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{ => types}/ComplexType.java (95%)
 copy sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{SimpleTypeVarLength.java => types/ComplexTypeReference.java} (83%)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{ => types}/DiscriminatedComplexType.java (95%)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{ => types}/EnumType.java (96%)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{SimpleType.java => types/SimpleTypeReference.java} (84%)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{ => types}/SimpleTypeVarLength.java (87%)
 rename sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/{ => types}/Type.java (95%)


[plc4x] 02/02: - Introduced a complexTypeReference and renamed simpleType to simpleTypeReference

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/code-gen
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit e39a950cdcca52706bda3e05556efb2589a92222
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun May 26 16:02:11 2019 +0200

    - Introduced a complexTypeReference and renamed simpleType to simpleTypeReference
---
 .../plc4x/plugins/codegenerator/ProtocolModel.java | 11 +++++----
 .../codegenerator/model/fields/ArrayField.java     |  2 --
 .../codegenerator/model/fields/ConstField.java     |  2 +-
 .../model/fields/DiscriminatorField.java           |  2 +-
 .../codegenerator/model/fields/ImplicitField.java  |  2 +-
 .../codegenerator/model/fields/OptionalField.java  |  2 +-
 .../codegenerator/model/fields/ReservedField.java  |  2 +-
 .../codegenerator/model/fields/SimpleField.java    |  2 +-
 .../codegenerator/model/fields/SwitchField.java    |  2 +-
 .../model/{ => types}/ComplexType.java             |  2 +-
 .../ComplexTypeReference.java}                     |  6 ++---
 .../{ => types}/DiscriminatedComplexType.java      |  2 +-
 .../codegenerator/model/{ => types}/EnumType.java  |  2 +-
 .../SimpleTypeReference.java}                      |  6 ++---
 .../model/{ => types}/SimpleTypeVarLength.java     |  4 ++--
 .../codegenerator/model/{ => types}/Type.java      |  2 +-
 .../parser/MessageFormatListener.java              | 26 ++++++++++++++--------
 .../codegenerator/parser/MessageFormatParser.java  |  2 +-
 .../parser/ManualMessageFormatParserTest.java      |  2 +-
 19 files changed, 43 insertions(+), 38 deletions(-)

diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/ProtocolModel.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/ProtocolModel.java
index e9daae0..07cdb5e 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/ProtocolModel.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/ProtocolModel.java
@@ -20,11 +20,10 @@
 package org.apache.plc4x.plugins.codegenerator;
 
 import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.plc4x.codegen.ast.ClassDeclaration;
-import org.apache.plc4x.plugins.codegenerator.model.EnumType;
-import org.apache.plc4x.plugins.codegenerator.model.SimpleType;
-import org.apache.plc4x.plugins.codegenerator.model.SimpleTypeVarLength;
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.EnumType;
+import org.apache.plc4x.plugins.codegenerator.model.types.SimpleTypeReference;
+import org.apache.plc4x.plugins.codegenerator.model.types.SimpleTypeVarLength;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 import org.dom4j.*;
 import org.dom4j.io.SAXReader;
 
@@ -82,7 +81,7 @@ public class ProtocolModel {
             if(simpleType.attributeValue(new QName("length", dfdlNamespace)) == null) {
                 types.put(new QName(typeName, targetNamespace), new SimpleTypeVarLength(typeName));
             } else {
-                types.put(new QName(typeName, targetNamespace), new SimpleType(typeName));
+                types.put(new QName(typeName, targetNamespace), new SimpleTypeReference(typeName));
             }
         }
     }
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ArrayField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ArrayField.java
index 0ad1b8c..05b7e76 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ArrayField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ArrayField.java
@@ -19,8 +19,6 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
-
 public class ArrayField implements Field {
 
     private final String typeName;
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ConstField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ConstField.java
index cb94688..f923201 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ConstField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ConstField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class ConstField implements Field {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/DiscriminatorField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/DiscriminatorField.java
index b1dab7a..88bffc6 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/DiscriminatorField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/DiscriminatorField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class DiscriminatorField implements Field {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ImplicitField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ImplicitField.java
index 7a1d671..c26ab9e 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ImplicitField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ImplicitField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class ImplicitField implements Field {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/OptionalField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/OptionalField.java
index 63947fa..5c4adc4 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/OptionalField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/OptionalField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class OptionalField implements Field {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ReservedField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ReservedField.java
index 53a8808..7064452 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ReservedField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/ReservedField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class ReservedField extends ConstField {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SimpleField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SimpleField.java
index d412ee7..0c96594 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SimpleField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SimpleField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.Type;
+import org.apache.plc4x.plugins.codegenerator.model.types.Type;
 
 public class SimpleField implements Field {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SwitchField.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SwitchField.java
index 9b2afac..bfdcb21 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SwitchField.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/fields/SwitchField.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.model.fields;
 
-import org.apache.plc4x.plugins.codegenerator.model.DiscriminatedComplexType;
+import org.apache.plc4x.plugins.codegenerator.model.types.DiscriminatedComplexType;
 
 import java.util.LinkedList;
 import java.util.List;
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/ComplexType.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexType.java
similarity index 95%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/ComplexType.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexType.java
index 9613de4..874d6bc 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/ComplexType.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexType.java
@@ -17,7 +17,7 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
 import org.apache.plc4x.plugins.codegenerator.model.fields.Field;
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexTypeReference.java
similarity index 83%
copy from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java
copy to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexTypeReference.java
index 54eb935..9e01976 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/ComplexTypeReference.java
@@ -17,11 +17,11 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
-public class SimpleType extends Type {
+public class ComplexTypeReference extends Type {
 
-    public SimpleType(String name) {
+    public ComplexTypeReference(String name) {
         super(name);
     }
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/DiscriminatedComplexType.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/DiscriminatedComplexType.java
similarity index 95%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/DiscriminatedComplexType.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/DiscriminatedComplexType.java
index 247f228..91cb542 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/DiscriminatedComplexType.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/DiscriminatedComplexType.java
@@ -17,7 +17,7 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
 import org.apache.plc4x.plugins.codegenerator.model.fields.Field;
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/EnumType.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/EnumType.java
similarity index 96%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/EnumType.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/EnumType.java
index f7139b0..2d40613 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/EnumType.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/EnumType.java
@@ -17,7 +17,7 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
 import java.util.List;
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeReference.java
similarity index 84%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeReference.java
index 54eb935..d591975 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleType.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeReference.java
@@ -17,11 +17,11 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
-public class SimpleType extends Type {
+public class SimpleTypeReference extends Type {
 
-    public SimpleType(String name) {
+    public SimpleTypeReference(String name) {
         super(name);
     }
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleTypeVarLength.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeVarLength.java
similarity index 87%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleTypeVarLength.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeVarLength.java
index 3a8c963..4857379 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/SimpleTypeVarLength.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/SimpleTypeVarLength.java
@@ -17,9 +17,9 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
-public class SimpleTypeVarLength extends SimpleType {
+public class SimpleTypeVarLength extends SimpleTypeReference {
 
     public SimpleTypeVarLength(String name) {
         super(name);
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/Type.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/Type.java
similarity index 95%
rename from sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/Type.java
rename to sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/Type.java
index 80fa313..4c76bc3 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/Type.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/model/types/Type.java
@@ -17,7 +17,7 @@
  under the License.
  */
 
-package org.apache.plc4x.plugins.codegenerator.model;
+package org.apache.plc4x.plugins.codegenerator.model.types;
 
 public abstract class Type {
 
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatListener.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatListener.java
index e0d0d01..5817793 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatListener.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatListener.java
@@ -21,9 +21,7 @@ package org.apache.plc4x.plugins.codegenerator.parser;
 
 import org.apache.plc4x.codegenerator.parser.imaginary.ImaginaryBaseListener;
 import org.apache.plc4x.codegenerator.parser.imaginary.ImaginaryParser;
-import org.apache.plc4x.plugins.codegenerator.model.ComplexType;
-import org.apache.plc4x.plugins.codegenerator.model.DiscriminatedComplexType;
-import org.apache.plc4x.plugins.codegenerator.model.SimpleType;
+import org.apache.plc4x.plugins.codegenerator.model.types.*;
 import org.apache.plc4x.plugins.codegenerator.model.fields.*;
 
 import java.util.*;
@@ -86,7 +84,7 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterConstField(ImaginaryParser.ConstFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        SimpleTypeReference type = new SimpleTypeReference(ctx.type.getText());
         String expected = ctx.expected.getText();
         Field field = new ConstField(type, expected);
         parserContexts.peek().add(field);
@@ -100,7 +98,7 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterDiscriminatorField(ImaginaryParser.DiscriminatorFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        SimpleTypeReference type = new SimpleTypeReference(ctx.type.getText());
         String name = ctx.name.getText();
         Field field = new DiscriminatorField(type, name);
         parserContexts.peek().add(field);
@@ -114,7 +112,12 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterSimpleField(ImaginaryParser.SimpleFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        Type type;
+        if(ctx.type.simpleTypeReference != null) {
+            type = new SimpleTypeReference(ctx.type.getText());
+        } else {
+            type = new ComplexTypeReference(ctx.type.getText());
+        }
         String name = ctx.name.getText();
         Field field = new SimpleField(type, name);
         parserContexts.peek().add(field);
@@ -122,7 +125,7 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterImplicitField(ImaginaryParser.ImplicitFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        SimpleTypeReference type = new SimpleTypeReference(ctx.type.getText());
         String serializationExpression = ctx.serializationExpression.getText();
         Field field = new ImplicitField(type, serializationExpression);
         parserContexts.peek().add(field);
@@ -130,7 +133,12 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterOptionalField(ImaginaryParser.OptionalFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        Type type;
+        if(ctx.type.simpleTypeReference != null) {
+            type = new SimpleTypeReference(ctx.type.getText());
+        } else {
+            type = new ComplexTypeReference(ctx.type.getText());
+        }
         String name = ctx.name.getText();
         String conditionExpression = ctx.condition.expr.getText();
         Field field = new OptionalField(type, name, conditionExpression);
@@ -139,7 +147,7 @@ public class MessageFormatListener extends ImaginaryBaseListener {
 
     @Override
     public void enterReservedField(ImaginaryParser.ReservedFieldContext ctx) {
-        SimpleType type = new SimpleType(ctx.type.getText());
+        SimpleTypeReference type = new SimpleTypeReference(ctx.type.getText());
         String expected = ctx.expected.getText();
         Field field = new ReservedField(type, expected);
         parserContexts.peek().add(field);
diff --git a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatParser.java b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatParser.java
index 53487e0..472ef52 100644
--- a/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatParser.java
+++ b/sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/parser/MessageFormatParser.java
@@ -25,7 +25,7 @@ import org.antlr.v4.runtime.tree.ParseTree;
 import org.antlr.v4.runtime.tree.ParseTreeWalker;
 import org.apache.plc4x.codegenerator.parser.imaginary.ImaginaryLexer;
 import org.apache.plc4x.codegenerator.parser.imaginary.ImaginaryParser;
-import org.apache.plc4x.plugins.codegenerator.model.ComplexType;
+import org.apache.plc4x.plugins.codegenerator.model.types.ComplexType;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/sandbox/plc4x-maven-plugin/src/test/java/org/apache/plc4x/plugins/codegenerator/parser/ManualMessageFormatParserTest.java b/sandbox/plc4x-maven-plugin/src/test/java/org/apache/plc4x/plugins/codegenerator/parser/ManualMessageFormatParserTest.java
index 743c34e..4592d4d 100644
--- a/sandbox/plc4x-maven-plugin/src/test/java/org/apache/plc4x/plugins/codegenerator/parser/ManualMessageFormatParserTest.java
+++ b/sandbox/plc4x-maven-plugin/src/test/java/org/apache/plc4x/plugins/codegenerator/parser/ManualMessageFormatParserTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.plc4x.plugins.codegenerator.parser;
 
-import org.apache.plc4x.plugins.codegenerator.model.ComplexType;
+import org.apache.plc4x.plugins.codegenerator.model.types.ComplexType;
 
 import java.io.InputStream;
 import java.util.Map;


[plc4x] 01/02: - Made it possible to distinguish between simpleTypeReferences and complexTypeReferences in the grammar.

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/code-gen
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 9dc50026b778153999e26461928b7f7e6786b67a
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun May 26 15:53:48 2019 +0200

    - Made it possible to distinguish between simpleTypeReferences and complexTypeReferences in the grammar.
---
 .../org/apache/plc4x/codegenerator/parser/imaginary/Imaginary.g4      | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sandbox/plc4x-maven-plugin/src/main/antlr4/org/apache/plc4x/codegenerator/parser/imaginary/Imaginary.g4 b/sandbox/plc4x-maven-plugin/src/main/antlr4/org/apache/plc4x/codegenerator/parser/imaginary/Imaginary.g4
index 7c86ee6..0036d65 100644
--- a/sandbox/plc4x-maven-plugin/src/main/antlr4/org/apache/plc4x/codegenerator/parser/imaginary/Imaginary.g4
+++ b/sandbox/plc4x-maven-plugin/src/main/antlr4/org/apache/plc4x/codegenerator/parser/imaginary/Imaginary.g4
@@ -74,8 +74,8 @@ typeSwitchField
 
 
 typeReference
- : IDENTIFIER
- | dataType
+ : complexTypeReference=IDENTIFIER
+ | simpleTypeReference=dataType
  ;
 
 caseStatement