sequenceof_type = Suppress(SEQUENCE) + Optional(size_constraint) + Suppress(OF) + (type_ | named_type)
setof_type = Suppress(SET) + Optional(size_constraint) + Suppress(OF) + (type_ | named_type)
choice_type = CHOICE + braced_list(named_type | extension_marker)
- enumerated_type = ENUMERATED + braced_list(enumeration)
+ enumerated_type = ENUMERATED + braced_list(enumeration | extension_marker)
bitstring_type = BIT_STRING + braced_list(named_number)
plain_integer_type = INTEGER
restricted_integer_type = INTEGER + braced_list(named_number)
fragment.write_line('namedValues = namedval.NamedValues(')
fragment.push_indent()
- named_values = list(map(lambda v: '(\'%s\', %s)' % (v.identifier, v.value), t.named_values))
+ named_values = ['(\'%s\', %s)' % (v.identifier, v.value) for v in t.named_values if not isinstance(v, ExtensionMarker)]
fragment.write_enumeration(named_values)
fragment.pop_indent()
def expr_value_list_type(self, t):
class_name = _translate_type(t.type_name)
if t.named_values:
- named_values = list(map(lambda v: '(\'%s\', %s)' % (v.identifier, v.value), t.named_values))
+ named_values = ['(\'%s\', %s)' % (v.identifier, v.value) for v in t.named_values if not isinstance(v, ExtensionMarker)]
return '%s(namedValues=namedval.NamedValues(%s))' % (class_name, ', '.join(named_values))
else:
return class_name + '()'
required2 UTF8String
}
+EnumType1 ::= ENUMERATED
+{
+ one (1),
+ ...
+}
+
+EnumType2 ::= ENUMERATED
+{
+ two (2),
+ ...,
+ three (3)
+}
+
+EnumInSequence ::= SEQUENCE
+{
+ -- Check also the inline form of an enum
+ foo ENUMERATED { zero(0), ..., one(1) }
+}
+
END