Add __repr__() to generator types to ease debugging
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 0ec8839..c53b481 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -242,6 +242,9 @@
def __str__(self):
return '_'.join(self.parts)
+ def __repr__(self):
+ return 'Names(%s)' % ','.join("'%s'" % x for x in self.parts)
+
def __add__(self, other):
if isinstance(other, strtypes):
return Names(self.parts + (other,))
@@ -324,6 +327,9 @@
else:
return '(' + str(self.value) + ' + ' + ' + '.join(self.symbols) + ')'
+ def __repr__(self):
+ return 'EncodedSize(%s, %s, %s, %s)' % (self.value, self.symbols, self.declarations, self.required_defines)
+
def get_declarations(self):
'''Get any declarations that must appear alongside this encoded size definition,
such as helper union {} types.'''
@@ -436,6 +442,9 @@
def encoded_size(self):
return max([varint_max_size(v) for n,v in self.values])
+ def __repr__(self):
+ return 'Enum(%s)' % self.names
+
def __str__(self):
leading_comment, trailing_comment = self.get_comments()
@@ -711,6 +720,9 @@
def __lt__(self, other):
return self.tag < other.tag
+ def __repr__(self):
+ return 'Field(%s)' % self.name
+
def __str__(self):
result = ''
@@ -1319,6 +1331,9 @@
deps += f.get_dependencies()
return deps
+ def __repr__(self):
+ return 'Message(%s)' % self.name
+
def __str__(self):
leading_comment, trailing_comment = self.get_comments()