Some more pre-emptive clearing in default_value() (#487)
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index 62a1ba8..6ecf063 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -1185,6 +1185,7 @@
         # Remove fields without default values
         # The iteration is done in reverse order to avoid remove() messing up iteration.
         for field in reversed(list(optional_only.field)):
+            field.ClearField(str('extendee'))
             parsed_field = self.field_for_tag(field.number)
             if parsed_field is None or parsed_field.allocation != 'STATIC':
                 optional_only.field.remove(field)
@@ -1207,6 +1208,8 @@
 
         optional_only.ClearField(str('oneof_decl'))
         optional_only.ClearField(str('nested_type'))
+        optional_only.ClearField(str('extension'))
+        optional_only.ClearField(str('enum_type'))
         desc = google.protobuf.descriptor.MakeDescriptor(optional_only)
         msg = reflection.MakeClass(desc)()