Index: third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h b/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h |
similarity index 51% |
copy from third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h |
copy to third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h |
index a90e84d7b1d9974d3e0cbf730ddb41a0b1886d26..6e2414af83d93be4c61add83fbe0dcfe3f94c5c8 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h |
+++ b/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h |
@@ -1,6 +1,6 @@ |
// Protocol Buffers - Google's data interchange format |
// Copyright 2008 Google Inc. All rights reserved. |
-// http://code.google.com/p/protobuf/ |
+// https://developers.google.com/protocol-buffers/ |
// |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
@@ -28,45 +28,58 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// Author: kenton@google.com (Kenton Varda) |
-// Based on original Protocol Buffers design by |
-// Sanjay Ghemawat, Jeff Dean, and others. |
-// |
-// Generates C++ code for a given .proto file. |
- |
-#ifndef GOOGLE_PROTOBUF_COMPILER_CPP_GENERATOR_H__ |
-#define GOOGLE_PROTOBUF_COMPILER_CPP_GENERATOR_H__ |
+#ifndef GOOGLE_PROTOBUF_COMPILER_CSHARP_WRAPPER_FIELD_H__ |
+#define GOOGLE_PROTOBUF_COMPILER_CSHARP_WRAPPER_FIELD_H__ |
#include <string> |
+ |
#include <google/protobuf/compiler/code_generator.h> |
+#include <google/protobuf/compiler/csharp/csharp_field_base.h> |
namespace google { |
namespace protobuf { |
namespace compiler { |
-namespace cpp { |
+namespace csharp { |
+ |
+class WrapperFieldGenerator : public FieldGeneratorBase { |
+ public: |
+ WrapperFieldGenerator(const FieldDescriptor* descriptor, int fieldOrdinal); |
+ ~WrapperFieldGenerator(); |
+ |
+ virtual void GenerateCodecCode(io::Printer* printer); |
+ virtual void GenerateCloningCode(io::Printer* printer); |
+ virtual void GenerateMembers(io::Printer* printer); |
+ virtual void GenerateMergingCode(io::Printer* printer); |
+ virtual void GenerateParsingCode(io::Printer* printer); |
+ virtual void GenerateSerializationCode(io::Printer* printer); |
+ virtual void GenerateSerializedSizeCode(io::Printer* printer); |
-// CodeGenerator implementation which generates a C++ source file and |
-// header. If you create your own protocol compiler binary and you want |
-// it to support C++ output, you can do so by registering an instance of this |
-// CodeGenerator with the CommandLineInterface in your main() function. |
-class LIBPROTOC_EXPORT CppGenerator : public CodeGenerator { |
+ virtual void WriteHash(io::Printer* printer); |
+ virtual void WriteEquals(io::Printer* printer); |
+ virtual void WriteToString(io::Printer* printer); |
+ |
+ private: |
+ bool is_value_type; // True for int32 etc; false for bytes and string |
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(WrapperFieldGenerator); |
+}; |
+ |
+class WrapperOneofFieldGenerator : public WrapperFieldGenerator { |
public: |
- CppGenerator(); |
- ~CppGenerator(); |
+ WrapperOneofFieldGenerator(const FieldDescriptor* descriptor, int fieldOrdinal); |
+ ~WrapperOneofFieldGenerator(); |
- // implements CodeGenerator ---------------------------------------- |
- bool Generate(const FileDescriptor* file, |
- const string& parameter, |
- GeneratorContext* generator_context, |
- string* error) const; |
+ virtual void GenerateMembers(io::Printer* printer); |
+ virtual void GenerateParsingCode(io::Printer* printer); |
+ virtual void GenerateSerializationCode(io::Printer* printer); |
+ virtual void GenerateSerializedSizeCode(io::Printer* printer); |
private: |
- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CppGenerator); |
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(WrapperOneofFieldGenerator); |
}; |
-} // namespace cpp |
+} // namespace csharp |
} // namespace compiler |
} // namespace protobuf |
- |
} // namespace google |
-#endif // GOOGLE_PROTOBUF_COMPILER_CPP_GENERATOR_H__ |
+ |
+#endif // GOOGLE_PROTOBUF_COMPILER_CSHARP_WRAPPER_FIELD_H__ |