diff options
author | Ilya Etingof <etingof@gmail.com> | 2017-08-02 02:23:05 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2017-08-02 02:23:05 +0200 |
commit | 7ba223cc51acd1ae100816848d9ddd1332a276ed (patch) | |
tree | a01f2555bbc08e39cbc8433c2484427af04178b7 /pyasn1/type | |
parent | a00fc22a6d510e673a936f8488c0683d3671f6aa (diff) | |
download | pyasn1-7ba223cc51acd1ae100816848d9ddd1332a276ed.tar.gz |
account for postponed errors when computing type maps
Diffstat (limited to 'pyasn1/type')
-rw-r--r-- | pyasn1/type/namedtype.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pyasn1/type/namedtype.py b/pyasn1/type/namedtype.py index 820c3be..cf92ee9 100644 --- a/pyasn1/type/namedtype.py +++ b/pyasn1/type/namedtype.py @@ -195,6 +195,8 @@ class NamedTypes(object): tagToPosMap = {} for idx, namedType in enumerate(self.__namedTypes): tagMap = namedType.asn1Object.tagMap + if isinstance(tagMap, NamedTypes.PostponedError): + return tagMap if not tagMap: continue for _tagSet in tagMap.presentTypes: @@ -419,6 +421,8 @@ class NamedTypes(object): defaultType = None for namedType in self.__namedTypes: tagMap = namedType.asn1Object.tagMap + if isinstance(tagMap, NamedTypes.PostponedError): + return tagMap for tagSet in tagMap: if unique and tagSet in presentTypes: return NamedTypes.PostponedError('Non-unique tagSet %s of %s at %s' % (tagSet, namedType, self)) |