Loading plugins/org.etsi.mts.tdl.asn2tdl/src/org/etsi/mts/tdl/asn2tdl/ASN2TDLTranslator.java +15 −5 Original line number Diff line number Diff line Loading @@ -46,6 +46,15 @@ import com.beanit.asn1bean.compiler.model.AsnType; import com.beanit.asn1bean.compiler.parser.ASNLexer; import com.beanit.asn1bean.compiler.parser.ASNParser; import antlr.debug.MessageEvent; import antlr.debug.MessageListener; import antlr.debug.ParserListener; import antlr.debug.ParserMatchEvent; import antlr.debug.ParserTokenEvent; import antlr.debug.SemanticPredicateEvent; import antlr.debug.SyntacticPredicateEvent; import antlr.debug.TraceEvent; public class ASN2TDLTranslator extends AbstractTranslator { public enum PASS { TYPES, Loading Loading @@ -186,7 +195,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { } else if (type instanceof AsnDefinedType) { //TODO: handle somehow? generatedType = getSimpleDataTypeFor(type.name); } else if (type instanceof AsnEnum) { } else if (type instanceof AsnEnum && pass!=PASS.PROPERTIES) { //TODO: add enum values from ((AsnEnum)type).namedNumberList.namedNumbers generatedType = getEnumDataTypeFor(type.name); // annotateWith(generatedType, "ENUM"); Loading @@ -208,9 +217,9 @@ public class ASN2TDLTranslator extends AbstractTranslator { if (!type.name.isEmpty()) { //TODO: expand further? if (((AsnCharacterString)type).stringtype.isEmpty()) { annotateWith(generatedType, type.getClass().getSimpleName()); constrainWith(generatedType, type.getClass().getSimpleName()); } else { annotateWith(generatedType, ((AsnCharacterString)type).stringtype); constrainWith(generatedType, ((AsnCharacterString)type).stringtype); } } } else if (type instanceof AsnInteger Loading @@ -229,7 +238,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { } generatedType = getSimpleDataTypeFor(typeName); if (!type.name.isEmpty()) { annotateWith(generatedType, type.getClass().getSimpleName()); constrainWith(generatedType, type.getClass().getSimpleName()); } } else if (type instanceof AsnSelectionType) { //TODO: document handling, applicable to Choice only, also illustrate with example Loading Loading @@ -276,7 +285,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { taggedType.typeReference.name = taggedType.name; } generatedType = translateType(taggedType.typeReference, "", pass); annotateWith(generatedType, taggedType.tag.clazz); constrainWith(generatedType, taggedType.tag.clazz); //TODO: handle tagged types } else { generatedType = null; Loading Loading @@ -317,6 +326,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { try (InputStream stream = new BufferedInputStream(Files.newInputStream(Paths.get(inputFileName)))) { ASNLexer lexer = new ASNLexer(stream); ASNParser parser = new ASNParser(lexer); //TODO: capture and show parsing/lexing errors - currently only critical errors shown parser.module_definitions(model); } return model; Loading Loading
plugins/org.etsi.mts.tdl.asn2tdl/src/org/etsi/mts/tdl/asn2tdl/ASN2TDLTranslator.java +15 −5 Original line number Diff line number Diff line Loading @@ -46,6 +46,15 @@ import com.beanit.asn1bean.compiler.model.AsnType; import com.beanit.asn1bean.compiler.parser.ASNLexer; import com.beanit.asn1bean.compiler.parser.ASNParser; import antlr.debug.MessageEvent; import antlr.debug.MessageListener; import antlr.debug.ParserListener; import antlr.debug.ParserMatchEvent; import antlr.debug.ParserTokenEvent; import antlr.debug.SemanticPredicateEvent; import antlr.debug.SyntacticPredicateEvent; import antlr.debug.TraceEvent; public class ASN2TDLTranslator extends AbstractTranslator { public enum PASS { TYPES, Loading Loading @@ -186,7 +195,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { } else if (type instanceof AsnDefinedType) { //TODO: handle somehow? generatedType = getSimpleDataTypeFor(type.name); } else if (type instanceof AsnEnum) { } else if (type instanceof AsnEnum && pass!=PASS.PROPERTIES) { //TODO: add enum values from ((AsnEnum)type).namedNumberList.namedNumbers generatedType = getEnumDataTypeFor(type.name); // annotateWith(generatedType, "ENUM"); Loading @@ -208,9 +217,9 @@ public class ASN2TDLTranslator extends AbstractTranslator { if (!type.name.isEmpty()) { //TODO: expand further? if (((AsnCharacterString)type).stringtype.isEmpty()) { annotateWith(generatedType, type.getClass().getSimpleName()); constrainWith(generatedType, type.getClass().getSimpleName()); } else { annotateWith(generatedType, ((AsnCharacterString)type).stringtype); constrainWith(generatedType, ((AsnCharacterString)type).stringtype); } } } else if (type instanceof AsnInteger Loading @@ -229,7 +238,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { } generatedType = getSimpleDataTypeFor(typeName); if (!type.name.isEmpty()) { annotateWith(generatedType, type.getClass().getSimpleName()); constrainWith(generatedType, type.getClass().getSimpleName()); } } else if (type instanceof AsnSelectionType) { //TODO: document handling, applicable to Choice only, also illustrate with example Loading Loading @@ -276,7 +285,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { taggedType.typeReference.name = taggedType.name; } generatedType = translateType(taggedType.typeReference, "", pass); annotateWith(generatedType, taggedType.tag.clazz); constrainWith(generatedType, taggedType.tag.clazz); //TODO: handle tagged types } else { generatedType = null; Loading Loading @@ -317,6 +326,7 @@ public class ASN2TDLTranslator extends AbstractTranslator { try (InputStream stream = new BufferedInputStream(Files.newInputStream(Paths.get(inputFileName)))) { ASNLexer lexer = new ASNLexer(stream); ASNParser parser = new ASNParser(lexer); //TODO: capture and show parsing/lexing errors - currently only critical errors shown parser.module_definitions(model); } return model; Loading