Skip to content

ASN.1 Information Objects parsing error

Summary

The ASN.1 compiler doesn't support the complex information objects like

Pdu ::= SEQUENCE {
  id      EXT-TYPE.&extId({Variants}),
  content SEQUENCE OF EXT-TYPE.&ExtContent({Variants}{@.id})
}

Steps and/or TTCN-3 code to reproduce

ttcn3_compiler -A test.asn

test.asn:

ModuleTestEmpty DEFINITIONS AUTOMATIC TAGS ::= BEGIN
IMPORTS ;
Pdu ::= SEQUENCE {
  id      EXT-TYPE.&extId({Variants}),
  content SEQUENCE OF EXT-TYPE.&ExtContent({Variants}{@.id})
}

EXT-TYPE ::= CLASS {
  &extId      VarId,
  &ExtContent
} WITH SYNTAX {&ExtContent IDENTIFIED BY &extId}

Variants EXT-TYPE ::= {
  {NULL IDENTIFIED BY v1},
  ...
}

VarId ::= INTEGER(0..255)

END

test.asn

What is the current bug behavior?

ttcn3_compiler.exe -A test.asn
Notify: Parsing ASN.1 module `test.asn'...
Notify: Checking modules...
test.asn: In ASN.1 module `ModuleTestEmpty':
 test.asn:5: In type assignment `Pdu':
  test.asn:7: In constraint #1 of type `open type':
   test.asn:7: error: Type `@ModuleTestEmpty.Pdu.content' is not a SEQUENCE, SET of CHOICE type.
Notify: Error found in the input module. Code will not be generated.

What is the expected correct behavior?

Code should be generated

Relevant logs and/or screenshots

See above

Titan version

TTCN-3 and ASN.1 Compiler for the TTCN-3 Test Executor
Version: 8.3.0
Build date: Jan 26 2023 09:02:42
Compiled with: GCC 11.3.0
Using OpenSSL 1.1.1s  1 Nov 2022
Commit id: a4679583a

Platform details (OS type and version)

Windows 10+Cygwin)

/cc @aknappqwt @mmagyari