ttcn2java: compilation error if ASN.1 enum def contains reference
Submitted by Jeno Attila Balasko
Link to original bug (#560016)
Description
The java code generation stops with exception. Source:
EnumBug DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN v2 INTEGER ::= 3 T4 ::= ENUMERATED {three(v2), one, zero(0), minusone(-1), two} END
Console log:
!ENTRY org.eclipse.titan.common 4 0 2020-02-11 10:55:10.949 !MESSAGE While generating Java code for module BER1 !STACK 0 java.lang.ClassCastException: org.eclipse.titan.designer.AST.TTCN3.values.Referenced_Value cannot be cast to org.eclipse.titan.designer.AST.TTCN3.values.Integer_Value at org.eclipse.titan.designer.AST.ASN1.types.ASN1_Enumerated_Type.generateCode(ASN1_Enumerated_Type.java:834) at org.eclipse.titan.designer.AST.ASN1.Type_Assignment.generateCode(Type_Assignment.java:263) at org.eclipse.titan.designer.AST.ASN1.ASN1Assignments.generateCode(ASN1Assignments.java:461) at org.eclipse.titan.designer.AST.ASN1.definitions.ASN1Module.generateCode(ASN1Module.java:492) at org.eclipse.titan.designer.compiler.ProjectSourceCompiler.compile(ProjectSourceCompiler.java:102)
Reason:
ASN1_Enumerated_Type.java:834 tries to cast a reference to fields.add(new Enum_field(tempItem.getId().getName(), tempItem.getId().getDisplayName(), ((Integer_Value)tempItem.getValue()).getValue()));
Version: 6.6.1