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/10/22 12:18:23 UTC
[plc4x] branch feature/mspec-ng updated: - Removed the field args
and replaced everything related with type args from square brackets to
round brackets
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/mspec-ng by this push:
new ca05161 - Removed the field args and replaced everything related with type args from square brackets to round brackets
ca05161 is described below
commit ca05161f132ebc801a478ff07f4a4865da4f1d68
Author: cdutz <ch...@c-ware.de>
AuthorDate: Fri Oct 22 14:18:11 2021 +0200
- Removed the field args and replaced everything related with type args from square brackets to round brackets
---
.../plugins/codegenerator/language/mspec/MSpec.g4 | 14 ++++----
.../mspec/model/fields/DefaultAbstractField.java | 8 +----
.../mspec/model/fields/DefaultArrayField.java | 9 +----
.../mspec/model/fields/DefaultAssertField.java | 9 +----
.../mspec/model/fields/DefaultChecksumField.java | 4 ---
.../mspec/model/fields/DefaultConstField.java | 4 ---
.../model/fields/DefaultDiscriminatorField.java | 4 ---
.../mspec/model/fields/DefaultEnumField.java | 10 +-----
.../mspec/model/fields/DefaultImplicitField.java | 4 ---
.../model/fields/DefaultManualArrayField.java | 10 +-----
.../mspec/model/fields/DefaultManualField.java | 8 +----
.../mspec/model/fields/DefaultOptionalField.java | 8 +----
.../mspec/model/fields/DefaultPaddingField.java | 8 +----
.../mspec/model/fields/DefaultReservedField.java | 4 ---
.../mspec/model/fields/DefaultSimpleField.java | 8 +----
.../mspec/model/fields/DefaultSwitchField.java | 4 ---
.../mspec/model/fields/DefaultUnknownField.java | 4 ---
.../mspec/model/fields/DefaultVirtualField.java | 4 ---
.../mspec/parser/MessageFormatListener.java | 40 +++++-----------------
.../src/test/resources/mspec.example | 4 +--
.../src/test/resources/mspec.example2 | 14 ++++----
.../src/main/resources/protocols/test/test.mspec | 12 +++----
.../main/resources/protocols/abeth/ab-eth.mspec | 2 +-
23 files changed, 42 insertions(+), 154 deletions(-)
diff --git a/code-generation/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4 b/code-generation/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4
index fe8bbfa..9ad01ec 100644
--- a/code-generation/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4
+++ b/code-generation/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4
@@ -27,14 +27,14 @@ complexTypeDefinition
;
complexType
- : 'type' name=idExpression (attributes=attributeList) (LBRACKET params=argumentList RBRACKET)? (fieldDefinition|batchSetDefinition)*
- | 'discriminatedType' name=idExpression (attributes=attributeList) (LBRACKET params=argumentList RBRACKET)? (fieldDefinition|batchSetDefinition)+
- | 'enum' (type=typeReference)? name=idExpression (attributes=attributeList) (LBRACKET params=argumentList RBRACKET)? enumValues=enumValueDefinition+
- | 'dataIo' name=idExpression (attributes=attributeList) (LBRACKET params=argumentList RBRACKET)? dataIoTypeSwitch=dataIoDefinition
+ : 'type' name=idExpression (attributes=attributeList) (LRBRACKET params=argumentList RRBRACKET)? (fieldDefinition|batchSetDefinition)*
+ | 'discriminatedType' name=idExpression (attributes=attributeList) (LRBRACKET params=argumentList RRBRACKET)? (fieldDefinition|batchSetDefinition)+
+ | 'enum' (type=typeReference)? name=idExpression (attributes=attributeList) (LRBRACKET params=argumentList RRBRACKET)? enumValues=enumValueDefinition+
+ | 'dataIo' name=idExpression (attributes=attributeList) (LRBRACKET params=argumentList RRBRACKET)? dataIoTypeSwitch=dataIoDefinition
;
fieldDefinition
- : LBRACKET field (attributes=attributeList) (LBRACKET params=multipleExpressions RBRACKET)? RBRACKET
+ : LBRACKET field (attributes=attributeList) RBRACKET
;
batchSetDefinition
@@ -138,7 +138,7 @@ enumValueDefinition
;
typeReference
- : complexTypeReference=IDENTIFIER_LITERAL (LBRACKET params=multipleExpressions RBRACKET)?
+ : complexTypeReference=IDENTIFIER_LITERAL (LRBRACKET params=multipleExpressions RRBRACKET)?
| simpleTypeReference=dataType
;
@@ -210,6 +210,8 @@ idExpression
TICK : '\'';
LBRACKET : '[';
RBRACKET : ']';
+LRBRACKET : '(';
+RRBRACKET : ')';
LCBRACKET : '{';
RCBRACKET : '}';
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAbstractField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAbstractField.java
index d83e723..a9427b7 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAbstractField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAbstractField.java
@@ -31,13 +31,11 @@ public class DefaultAbstractField extends DefaultField implements AbstractField
private final TypeReference type;
private final String name;
- private final List<Term> params;
- public DefaultAbstractField(Map<String, Term> attributes, TypeReference type, String name, List<Term> params) {
+ public DefaultAbstractField(Map<String, Term> attributes, TypeReference type, String name) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
- this.params = params;
}
public TypeReference getType() {
@@ -48,8 +46,4 @@ public class DefaultAbstractField extends DefaultField implements AbstractField
return name;
}
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultArrayField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultArrayField.java
index 0ce991cf..9b6499e 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultArrayField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultArrayField.java
@@ -33,15 +33,13 @@ public class DefaultArrayField extends DefaultField implements ArrayField {
private final String name;
private final LoopType loopType;
private final Term loopExpression;
- private final List<Term> params;
- public DefaultArrayField(Map<String, Term> attributes, TypeReference type, String name, LoopType loopType, Term loopExpression, List<Term> params) {
+ public DefaultArrayField(Map<String, Term> attributes, TypeReference type, String name, LoopType loopType, Term loopExpression) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.loopType = Objects.requireNonNull(loopType);
this.loopExpression = Objects.requireNonNull(loopExpression);
- this.params = params;
}
public TypeReference getType() {
@@ -60,9 +58,4 @@ public class DefaultArrayField extends DefaultField implements ArrayField {
return loopExpression;
}
- @Override
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAssertField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAssertField.java
index ef14dc7..7f9b054 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAssertField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAssertField.java
@@ -32,14 +32,12 @@ public class DefaultAssertField extends DefaultField implements AssertField {
private final TypeReference type;
private final String name;
private final Term conditionExpression;
- private final List<Term> params;
- public DefaultAssertField(Map<String, Term> attributes, TypeReference type, String name, Term conditionExpression, List<Term> params) {
+ public DefaultAssertField(Map<String, Term> attributes, TypeReference type, String name, Term conditionExpression) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.conditionExpression = Objects.requireNonNull(conditionExpression);
- this.params = params;
}
public TypeReference getType() {
@@ -54,9 +52,4 @@ public class DefaultAssertField extends DefaultField implements AssertField {
return conditionExpression;
}
- @Override
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultChecksumField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultChecksumField.java
index 17b62b2..d0d5498 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultChecksumField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultChecksumField.java
@@ -49,8 +49,4 @@ public class DefaultChecksumField extends DefaultField implements ChecksumField
return checksumExpression;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultConstField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultConstField.java
index 681f2f8..082de7f 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultConstField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultConstField.java
@@ -49,8 +49,4 @@ public class DefaultConstField extends DefaultField implements ConstField {
return referenceValue;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultDiscriminatorField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultDiscriminatorField.java
index 6ff4481..7046535 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultDiscriminatorField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultDiscriminatorField.java
@@ -43,8 +43,4 @@ public class DefaultDiscriminatorField extends DefaultField implements Discrimin
return name;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultEnumField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultEnumField.java
index f56fdf6..795a55b 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultEnumField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultEnumField.java
@@ -22,7 +22,6 @@ import org.apache.plc4x.plugins.codegenerator.types.fields.EnumField;
import org.apache.plc4x.plugins.codegenerator.types.references.TypeReference;
import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
@@ -32,14 +31,12 @@ public class DefaultEnumField extends DefaultField implements EnumField {
private final TypeReference type;
private final String name;
private final String fieldName;
- private final List<Term> params;
- public DefaultEnumField(Map<String, Term> attributes, TypeReference type, String name, String fieldName, List<Term> params) {
+ public DefaultEnumField(Map<String, Term> attributes, TypeReference type, String name, String fieldName) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.fieldName = fieldName;
- this.params = params;
}
public TypeReference getType() {
@@ -54,9 +51,4 @@ public class DefaultEnumField extends DefaultField implements EnumField {
return Optional.ofNullable(fieldName);
}
- @Override
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultImplicitField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultImplicitField.java
index c00597d..1e51683 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultImplicitField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultImplicitField.java
@@ -49,8 +49,4 @@ public class DefaultImplicitField extends DefaultField implements ImplicitField
return serializeExpression;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualArrayField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualArrayField.java
index 40463ad..442b533 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualArrayField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualArrayField.java
@@ -22,10 +22,8 @@ import org.apache.plc4x.plugins.codegenerator.types.fields.ManualArrayField;
import org.apache.plc4x.plugins.codegenerator.types.references.TypeReference;
import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
-import java.util.Optional;
public class DefaultManualArrayField extends DefaultField implements ManualArrayField {
@@ -36,9 +34,8 @@ public class DefaultManualArrayField extends DefaultField implements ManualArray
private final Term parseExpression;
private final Term serializeExpression;
private final Term lengthExpression;
- private final List<Term> params;
- public DefaultManualArrayField(Map<String, Term> attributes, TypeReference type, String name, LoopType loopType, Term loopExpression, Term parseExpression, Term serializeExpression, Term lengthExpression, List<Term> params) {
+ public DefaultManualArrayField(Map<String, Term> attributes, TypeReference type, String name, LoopType loopType, Term loopExpression, Term parseExpression, Term serializeExpression, Term lengthExpression) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
@@ -47,7 +44,6 @@ public class DefaultManualArrayField extends DefaultField implements ManualArray
this.parseExpression = Objects.requireNonNull(parseExpression);
this.serializeExpression = Objects.requireNonNull(serializeExpression);
this.lengthExpression = Objects.requireNonNull(lengthExpression);
- this.params = params;
}
public TypeReference getType() {
@@ -78,8 +74,4 @@ public class DefaultManualArrayField extends DefaultField implements ManualArray
return lengthExpression;
}
- @Override
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualField.java
index 926f978..2aafa23 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualField.java
@@ -34,16 +34,14 @@ public class DefaultManualField extends DefaultField implements ManualField {
private final Term parseExpression;
private final Term serializeExpression;
private final Term lengthExpression;
- private final List<Term> params;
- public DefaultManualField(Map<String, Term> attributes, TypeReference type, String name, Term parseExpression, Term serializeExpression, Term lengthExpression, List<Term> params) {
+ public DefaultManualField(Map<String, Term> attributes, TypeReference type, String name, Term parseExpression, Term serializeExpression, Term lengthExpression) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.parseExpression = Objects.requireNonNull(parseExpression);
this.serializeExpression = Objects.requireNonNull(serializeExpression);
this.lengthExpression = Objects.requireNonNull(lengthExpression);
- this.params = params;
}
public TypeReference getType() {
@@ -66,8 +64,4 @@ public class DefaultManualField extends DefaultField implements ManualField {
return lengthExpression;
}
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultOptionalField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultOptionalField.java
index 295bc17..9cea246 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultOptionalField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultOptionalField.java
@@ -32,14 +32,12 @@ public class DefaultOptionalField extends DefaultField implements OptionalField
private final TypeReference type;
private final String name;
private final Term conditionExpression;
- private final List<Term> params;
- public DefaultOptionalField(Map<String, Term> attributes, TypeReference type, String name, Term conditionExpression, List<Term> params) {
+ public DefaultOptionalField(Map<String, Term> attributes, TypeReference type, String name, Term conditionExpression) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.conditionExpression = conditionExpression;
- this.params = params;
}
public TypeReference getType() {
@@ -54,8 +52,4 @@ public class DefaultOptionalField extends DefaultField implements OptionalField
return Optional.ofNullable(conditionExpression);
}
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultPaddingField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultPaddingField.java
index a8a2ad4..8631e2d 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultPaddingField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultPaddingField.java
@@ -33,15 +33,13 @@ public class DefaultPaddingField extends DefaultField implements PaddingField {
private final String name;
private final Term paddingValue;
private final Term paddingCondition;
- private final List<Term> params;
- public DefaultPaddingField(Map<String, Term> attributes, TypeReference type, String name, Term paddingValue, Term paddingCondition, List<Term> params) {
+ public DefaultPaddingField(Map<String, Term> attributes, TypeReference type, String name, Term paddingValue, Term paddingCondition) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
this.paddingValue = Objects.requireNonNull(paddingValue);
this.paddingCondition = Objects.requireNonNull(paddingCondition);
- this.params = params;
}
public TypeReference getType() {
@@ -60,8 +58,4 @@ public class DefaultPaddingField extends DefaultField implements PaddingField {
return paddingCondition;
}
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultReservedField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultReservedField.java
index f12f9b4..228d3cd 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultReservedField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultReservedField.java
@@ -43,8 +43,4 @@ public class DefaultReservedField extends DefaultField implements ReservedField
return referenceValue;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSimpleField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSimpleField.java
index 41b4947..c90bb21 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSimpleField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSimpleField.java
@@ -31,13 +31,11 @@ public class DefaultSimpleField extends DefaultField implements SimpleField {
private final TypeReference type;
private final String name;
- private final List<Term> params;
- public DefaultSimpleField(Map<String, Term> attributes, TypeReference type, String name, List<Term> params) {
+ public DefaultSimpleField(Map<String, Term> attributes, TypeReference type, String name) {
super(attributes);
this.type = Objects.requireNonNull(type);
this.name = Objects.requireNonNull(name);
- this.params = params;
}
public TypeReference getType() {
@@ -48,8 +46,4 @@ public class DefaultSimpleField extends DefaultField implements SimpleField {
return name;
}
- public Optional<List<Term>> getParams() {
- return Optional.ofNullable(params);
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSwitchField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSwitchField.java
index 118b242..65f1a07 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSwitchField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSwitchField.java
@@ -53,8 +53,4 @@ public class DefaultSwitchField implements SwitchField {
return Optional.empty();
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultUnknownField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultUnknownField.java
index 8f2f052..1b00fe8 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultUnknownField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultUnknownField.java
@@ -37,8 +37,4 @@ public class DefaultUnknownField extends DefaultField implements UnknownField {
return type;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultVirtualField.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultVirtualField.java
index a491647..70d93f9 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultVirtualField.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultVirtualField.java
@@ -49,8 +49,4 @@ public class DefaultVirtualField extends DefaultField implements VirtualField {
return valueExpression;
}
- public Optional<List<Term>> getParams() {
- return Optional.of(Collections.emptyList());
- }
-
}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java
index c0bb846..65afab2 100644
--- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java
@@ -176,9 +176,7 @@ public class MessageFormatListener extends MSpecBaseListener {
public void enterAbstractField(MSpecParser.AbstractFieldContext ctx) {
TypeReference type = getTypeReference(ctx.type);
String name = getIdString(ctx.name);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultAbstractField(getAttributes(ctx), type, name, params);
+ Field field = new DefaultAbstractField(getAttributes(ctx), type, name);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -190,9 +188,7 @@ public class MessageFormatListener extends MSpecBaseListener {
String name = getIdString(ctx.name);
ArrayField.LoopType loopType = ArrayField.LoopType.valueOf(ctx.loopType.getText().toUpperCase());
Term loopExpression = getExpressionTerm(ctx.loopExpression);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultArrayField(getAttributes(ctx), type, name, loopType, loopExpression, params);
+ Field field = new DefaultArrayField(getAttributes(ctx), type, name, loopType, loopExpression);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -238,9 +234,7 @@ public class MessageFormatListener extends MSpecBaseListener {
if (ctx.fieldName != null) {
fieldName = getIdString(ctx.fieldName);
}
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultEnumField(getAttributes(ctx), type, name, fieldName, params);
+ Field field = new DefaultEnumField(getAttributes(ctx), type, name, fieldName);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -262,9 +256,7 @@ public class MessageFormatListener extends MSpecBaseListener {
TypeReference type = getTypeReference(ctx.type);
String name = getIdString(ctx.name);
Term conditionExpression = getExpressionTerm(ctx.condition);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultAssertField(getAttributes(ctx), type, name, conditionExpression, params);
+ Field field = new DefaultAssertField(getAttributes(ctx), type, name, conditionExpression);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -280,10 +272,8 @@ public class MessageFormatListener extends MSpecBaseListener {
Term parseExpression = getExpressionTerm(ctx.parseExpression);
Term serializeExpression = getExpressionTerm(ctx.serializeExpression);
Term lengthExpression = getExpressionTerm(ctx.lengthExpression);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
Field field = new DefaultManualArrayField(getAttributes(ctx), type, name, loopType, loopExpression,
- parseExpression, serializeExpression, lengthExpression, params);
+ parseExpression, serializeExpression, lengthExpression);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -296,10 +286,8 @@ public class MessageFormatListener extends MSpecBaseListener {
Term parseExpression = getExpressionTerm(ctx.parseExpression);
Term serializeExpression = getExpressionTerm(ctx.serializeExpression);
Term lengthExpression = getExpressionTerm(ctx.lengthExpression);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
Field field = new DefaultManualField(getAttributes(ctx), type, name, parseExpression, serializeExpression,
- lengthExpression, params);
+ lengthExpression);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -313,9 +301,7 @@ public class MessageFormatListener extends MSpecBaseListener {
if (ctx.condition != null) {
conditionExpression = getExpressionTerm(ctx.condition);
}
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultOptionalField(getAttributes(ctx), type, name, conditionExpression, params);
+ Field field = new DefaultOptionalField(getAttributes(ctx), type, name, conditionExpression);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -327,9 +313,7 @@ public class MessageFormatListener extends MSpecBaseListener {
String name = getIdString(ctx.name);
Term paddingValue = getExpressionTerm(ctx.paddingValue);
Term paddingCondition = getExpressionTerm(ctx.paddingCondition);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultPaddingField(getAttributes(ctx), type, name, paddingValue, paddingCondition, params);
+ Field field = new DefaultPaddingField(getAttributes(ctx), type, name, paddingValue, paddingCondition);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -349,9 +333,7 @@ public class MessageFormatListener extends MSpecBaseListener {
public void enterSimpleField(MSpecParser.SimpleFieldContext ctx) {
TypeReference type = getTypeReference(ctx.type);
String name = getIdString(ctx.name);
- MSpecParser.FieldDefinitionContext fieldDefinitionContext = (MSpecParser.FieldDefinitionContext) ctx.parent.parent;
- List<Term> params = getFieldParams(fieldDefinitionContext);
- Field field = new DefaultSimpleField(getAttributes(ctx), type, name, params);
+ Field field = new DefaultSimpleField(getAttributes(ctx), type, name);
if (parserContexts.peek() != null) {
parserContexts.peek().add(field);
}
@@ -559,10 +541,6 @@ public class MessageFormatListener extends MSpecBaseListener {
.collect(Collectors.toList());
}
- private List<Term> getFieldParams(MSpecParser.FieldDefinitionContext parentCtx) {
- return getParams(parentCtx.params);
- }
-
private List<Term> getParams(MSpecParser.MultipleExpressionsContext params) {
if (params == null) {
return null;
diff --git a/code-generation/protocol-base-mspec/src/test/resources/mspec.example b/code-generation/protocol-base-mspec/src/test/resources/mspec.example
index 7128fb9..d023901 100644
--- a/code-generation/protocol-base-mspec/src/test/resources/mspec.example
+++ b/code-generation/protocol-base-mspec/src/test/resources/mspec.example
@@ -124,7 +124,7 @@
[type 'AmsPacket'
[simple AmsHeader 'amsHeader' ]
- [simple ADSData 'data' ['amsHeader.commandId', 'amsHeader.state.response'] ]
+ [simple ADSData('amsHeader.commandId', 'amsHeader.state.response') 'data' ]
]
// AMS Header 32 bytes The AMS/TCP-Header contains the addresses of the transmitter and receiver. In addition the AMS error code , the ADS command Id and some other information.
@@ -206,7 +206,7 @@
[simple uint 8 'octet6' ]
]
-[discriminatedType 'ADSData' [CommandId 'commandId', bit 'response']
+[discriminatedType 'ADSData' (CommandId 'commandId', bit 'response')
[typeSwitch 'commandId', 'response'
['INVALID', 'true' AdsInvalidResponse]
['INVALID', 'false' AdsInvalidRequest]
diff --git a/code-generation/protocol-base-mspec/src/test/resources/mspec.example2 b/code-generation/protocol-base-mspec/src/test/resources/mspec.example2
index 77b6d8b..722da05 100644
--- a/code-generation/protocol-base-mspec/src/test/resources/mspec.example2
+++ b/code-generation/protocol-base-mspec/src/test/resources/mspec.example2
@@ -258,7 +258,7 @@
[simple uint 64 'QuadIntField']
]
-//Specific test confirming a continous loop isn't formed when working out the length.
+//Specific test confirming a continuous loop isn't formed when working out the length.
[type 'LentghLoopTest'
[simple uint 16 'commandType']
[implicit uint 16 'len' 'lengthInBytes - 8']
@@ -301,7 +301,7 @@
]
// Enumerated Parameter
-[discriminatedType 'EnumDiscriminatedTypeParameter' [EnumType 'discr']
+[discriminatedType 'EnumDiscriminatedTypeParameter' (EnumType 'discr')
[typeSwitch 'discr'
['BOOL' EnumDiscriminatedTypeAParameter
[simple uint 8 'simpA']
@@ -316,7 +316,7 @@
]
// Multiple Enumerated Parameters
-[discriminatedType 'EnumDiscriminatedTypeParameterMultiple' [EnumType 'discr1', EnumTypeInt 'discr2']
+[discriminatedType 'EnumDiscriminatedTypeParameterMultiple' (EnumType 'discr1', EnumTypeInt 'discr2')
[typeSwitch 'discr1','discr2'
['BOOL','BOOLINT' EnumDiscriminatedTypeAParameterMultiple
[simple uint 8 'simpA']
@@ -413,19 +413,19 @@
//]
//TODO: Float parameters aren't implemented for constants in enums in C
-//[enum int 8 'EnumTypeAllTest' [bit 'bitType', int 8 'intType', uint 8 'uintType', float 32 'floatType', float 64 'doubleType', string '-1' 'stringType', EnumType 'enumType']
+//[enum int 8 'EnumTypeAllTest' (bit 'bitType', int 8 'intType', uint 8 'uintType', float 32 'floatType', float 64 'doubleType', string '-1' 'stringType', EnumType 'enumType')
// ['0x01' BOOL ['false' , '1' , '1' , '100.0' , '100.0' , 'BOOL' , 'BOOL']]
// ['0x02' BYTE ['true' , '2' , '2' , '101.1' , '101.1' , 'BYTE' , 'UINT']]
//]
//TODO: Keyword named parameters aren't allowed
-//[enum int 8 'EnumTypeIntTest' [int 8 'int']
+//[enum int 8 'EnumTypeIntTest' (int 8 'int')
// ['0x01' BOOL ['1']]
// ['0x02' BYTE ['2']]
//]
//Showing allowed parameter types for enums
-[enum int 8 'EnumTypeParameters' [bit 'bitType', int 8 'intType', uint 8 'uintType', string 32 'stringType', EnumType 'enumType']
+[enum int 8 'EnumTypeParameters' (bit 'bitType', int 8 'intType', uint 8 'uintType', string 32 'stringType', EnumType 'enumType')
['0x01' BOOL ['false' , '1' , '1' , 'BOOL' , 'BOOL']]
['0x02' BYTE ['true' , '2' , '2' , 'BYTE' , 'UINT']]
]
@@ -434,7 +434,7 @@
// Data IO Tests
////////////////////////////////////////////////////////////////
-[dataIo 'DataIOType' [EnumType 'dataType']
+[dataIo 'DataIOType' (EnumType 'dataType')
[typeSwitch 'dataType'
['BOOL' BOOL
[simple bit 'value']
diff --git a/code-generation/protocol-test/src/main/resources/protocols/test/test.mspec b/code-generation/protocol-test/src/main/resources/protocols/test/test.mspec
index f5be727..2a50368 100644
--- a/code-generation/protocol-test/src/main/resources/protocols/test/test.mspec
+++ b/code-generation/protocol-test/src/main/resources/protocols/test/test.mspec
@@ -301,7 +301,7 @@
]
// Enumerated Parameter
-[discriminatedType 'EnumDiscriminatedTypeParameter' [EnumType 'discr']
+[discriminatedType 'EnumDiscriminatedTypeParameter' (EnumType 'discr')
[typeSwitch 'discr'
['BOOL' EnumDiscriminatedTypeAParameter
[simple uint 8 'simpA']
@@ -316,7 +316,7 @@
]
// Multiple Enumerated Parameters
-[discriminatedType 'EnumDiscriminatedTypeParameterMultiple' [EnumType 'discr1', EnumTypeInt 'discr2']
+[discriminatedType 'EnumDiscriminatedTypeParameterMultiple' (EnumType 'discr1', EnumTypeInt 'discr2')
[typeSwitch 'discr1','discr2'
['BOOL','BOOLINT' EnumDiscriminatedTypeAParameterMultiple
[simple uint 8 'simpA']
@@ -413,19 +413,19 @@
//]
//TODO: Float parameters aren't implemented for constants in enums in C
-//[enum int 8 'EnumTypeAllTest' [bit 'bitType', int 8 'intType', uint 8 'uintType', float 32 'floatType', float 64 'doubleType', string 32 'stringType', EnumType 'enumType']
+//[enum int 8 'EnumTypeAllTest' (bit 'bitType', int 8 'intType', uint 8 'uintType', float 32 'floatType', float 64 'doubleType', string 32 'stringType', EnumType 'enumType')
// ['0x01' BOOL ['false' , '1' , '1' , '100.0' , '100.0' , 'BOOL' , 'BOOL']]
// ['0x02' BYTE ['true' , '2' , '2' , '101.1' , '101.1' , 'BYTE' , 'UINT']]
//]
//TODO: Keyword named parameters aren't allowed
-//[enum int 8 'EnumTypeIntTest' [int 8 'int']
+//[enum int 8 'EnumTypeIntTest' (int 8 'int')
// ['0x01' BOOL ['1']]
// ['0x02' BYTE ['2']]
//]
//Showing allowed parameter types for enums
-[enum int 8 'EnumTypeParameters' [bit 'bitType', int 8 'intType', uint 8 'uintType', string 32 'stringType', EnumType 'enumType']
+[enum int 8 'EnumTypeParameters' (bit 'bitType', int 8 'intType', uint 8 'uintType', string 32 'stringType', EnumType 'enumType')
['0x01' BOOL ['false' , '1' , '1' , 'BOOL' , 'BOOL']]
['0x02' BYTE ['true' , '2' , '2' , 'BYTE' , 'UINT']]
]
@@ -434,7 +434,7 @@
// Data IO Tests
////////////////////////////////////////////////////////////////
-[dataIo 'DataIOType' [EnumType 'dataType']
+[dataIo 'DataIOType' (EnumType 'dataType')
[typeSwitch 'dataType'
['BOOL' BOOL
[simple bit 'value']
diff --git a/protocols/ab-eth/src/main/resources/protocols/abeth/ab-eth.mspec b/protocols/ab-eth/src/main/resources/protocols/abeth/ab-eth.mspec
index 77e7a75..22859d2 100644
--- a/protocols/ab-eth/src/main/resources/protocols/abeth/ab-eth.mspec
+++ b/protocols/ab-eth/src/main/resources/protocols/abeth/ab-eth.mspec
@@ -34,7 +34,7 @@
[simple DF1RequestMessage 'request']
]
['0x0207' CIPEncapsulationReadResponse [uint 16 'len']
- [simple DF1ResponseMessage ['len'] 'response']
+ [simple DF1ResponseMessage('len') 'response']
]
]
]