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()
 
