summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2017-09-10 14:33:42 +0200
committerIlya Etingof <etingof@gmail.com>2017-09-10 14:33:42 +0200
commit9e99333c176b1ca6d8706a0a39626b896437564e (patch)
treea410259fd7b394518d46a4a88ec65e6e7753dfe3
parentd35f412398a54a93ac141d88c41dac411bd05453 (diff)
parent5a741f4aa9af1bddf47d7a5a7d46dea443a80319 (diff)
downloadpyasn1-git-9e99333c176b1ca6d8706a0a39626b896437564e.tar.gz
Merge branch 'open-types-support' of github.com:etingof/pyasn1 into open-types-support
-rw-r--r--pyasn1/type/namedtype.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pyasn1/type/namedtype.py b/pyasn1/type/namedtype.py
index 69b4422..f25af99 100644
--- a/pyasn1/type/namedtype.py
+++ b/pyasn1/type/namedtype.py
@@ -128,6 +128,7 @@ class NamedTypes(object):
self.__keys = frozenset([namedType.name for namedType in self.__namedTypes])
self.__values = tuple([namedType.asn1Object for namedType in self.__namedTypes])
self.__items = tuple([(namedType.name, namedType.asn1Object) for namedType in self.__namedTypes])
+ self.__holes = self.__computeTypeHoles()
def __repr__(self):
return '%s(%s)' % (
@@ -514,3 +515,15 @@ class NamedTypes(object):
@property
def requiredComponents(self):
return self.__requiredComponents
+
+ @property
+ def holes(self):
+ return self.__holes
+
+ def __computeTypeHoles(self):
+ holes = []
+ for namedType in self.__namedTypes:
+ if namedType.governingName:
+ holes.append((namedType.name, namedType.governingName, namedType.typesMap))
+
+ return holes