summaryrefslogtreecommitdiff
path: root/pyasn1/type/namedtype.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyasn1/type/namedtype.py')
-rw-r--r--pyasn1/type/namedtype.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pyasn1/type/namedtype.py b/pyasn1/type/namedtype.py
index 48967a5..c1f36f7 100644
--- a/pyasn1/type/namedtype.py
+++ b/pyasn1/type/namedtype.py
@@ -8,7 +8,7 @@ class NamedType:
isDefaulted = 0
def __init__(self, name, t):
self.__name = name; self.__type = t
- def __repr__(self): return '%s(%s, %s)' % (
+ def __repr__(self): return '%s(%s, %r)' % (
self.__class__.__name__, self.__name, self.__type
)
def getType(self): return self.__type
@@ -33,10 +33,10 @@ class NamedTypes:
self.__ambigiousTypes = {}
def __repr__(self):
- r = '%s(' % self.__class__.__name__
- for n in self.__namedTypes:
- r = r + '%r, ' % (n,)
- return r + ')'
+ return '%s(%s)' % (
+ self.__class__.__name__,
+ ', '.join([ repr(x) for x in self.__namedTypes ])
+ )
def __getitem__(self, idx): return self.__namedTypes[idx]
@@ -45,7 +45,9 @@ class NamedTypes:
else:
def __bool__(self): return bool(self.__namedTypesLen)
def __len__(self): return self.__namedTypesLen
-
+
+ def clone(self): return self.__class__(*self.__namedTypes)
+
def getTypeByPosition(self, idx):
if idx < 0 or idx >= self.__namedTypesLen:
raise error.PyAsn1Error('Type position out of range')