Imported Upstream version 3.8.0
[platform/upstream/protobuf.git] / src / google / protobuf / compiler / csharp / csharp_message.h
index e7f3b4d..7e88ecf 100644 (file)
@@ -50,6 +50,9 @@ class MessageGenerator : public SourceGeneratorBase {
   MessageGenerator(const Descriptor* descriptor, const Options* options);
   ~MessageGenerator();
 
+  MessageGenerator(const MessageGenerator&) = delete;
+  MessageGenerator& operator=(const MessageGenerator&) = delete;
+
   void GenerateCloningCode(io::Printer* printer);
   void GenerateFreezingCode(io::Printer* printer);
   void GenerateFrameworkMethods(io::Printer* printer);
@@ -57,30 +60,27 @@ class MessageGenerator : public SourceGeneratorBase {
 
  private:
   const Descriptor* descriptor_;
-  std::vector<std::string> field_names_;
   std::vector<const FieldDescriptor*> fields_by_number_;
+  int has_bit_field_count_;
+  uint end_tag_;
 
   void GenerateMessageSerializationMethods(io::Printer* printer);
   void GenerateMergingMethods(io::Printer* printer);
 
-  int GetFieldOrdinal(const FieldDescriptor* descriptor);
+  int GetPresenceIndex(const FieldDescriptor* descriptor);
   FieldGeneratorBase* CreateFieldGeneratorInternal(
       const FieldDescriptor* descriptor);
 
   bool HasNestedGeneratedTypes();
 
   void AddDeprecatedFlag(io::Printer* printer);
-  
+  void AddSerializableAttribute(io::Printer* printer);
+
   std::string class_name();
   std::string full_class_name();
 
-  // field names sorted alphabetically
-  const std::vector<std::string>& field_names();
-
   // field descriptors sorted by number
   const std::vector<const FieldDescriptor*>& fields_by_number();
-
-  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
 };
 
 }  // namespace csharp