Properly module-qualify type references in sema
authorKim Grasman <kim.grasman@gmail.com>
Thu, 3 Aug 2017 12:58:04 +0000 (14:58 +0200)
committerKim Gräsman <kim.grasman@gmail.com>
Thu, 3 Aug 2017 12:59:41 +0000 (14:59 +0200)
asn1ate/sema.py
testdata/external_typeref.asn

index 27d4d5f6be9f386a2b7917f0969dc5e65c31af7d..b8759a161b258679d92d02dff4a1ce740bb26023 100644 (file)
@@ -557,10 +557,15 @@ class DefinedType(ReferencedType):
         return self.type_name
 
     def __str__(self):
+        if self.module_name:
+            type_name = self.module_name + '.' + self.type_name
+        else:
+            type_name = self.type_name
+
         if self.constraint is None:
-            return self.type_name
+            return type_name
 
-        return '%s %s' % (self.type_name, self.constraint)
+        return '%s %s' % (type_name, self.constraint)
 
     __repr__ = __str__
 
index d3685f5219f578444f1c9d5aadb436f58eb4d5b8..c1bbb25b36f43f2ef2260adc27c692659cd06014 100644 (file)
@@ -3,5 +3,6 @@ BEGIN
   T1 ::= INTEGER
   T2 ::= T1
 
+  -- Module self-reference
   T3 ::= SEQUENCE OF M1.T1
 END