Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: third_party/protobuf/src/google/protobuf/compiler/javanano/javanano_enum_field.h

Issue 1842653006: Update //third_party/protobuf to version 3. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // http://code.google.com/p/protobuf/ 3 // http://code.google.com/p/protobuf/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 14 matching lines...) Expand all
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 30
31 // Author: kenton@google.com (Kenton Varda) 31 // Author: kenton@google.com (Kenton Varda)
32 // Based on original Protocol Buffers design by 32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others. 33 // Sanjay Ghemawat, Jeff Dean, and others.
34 34
35 #ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ 35 #ifndef GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__
36 #define GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ 36 #define GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__
37 37
38 #include <map> 38 #include <map>
39 #include <string> 39 #include <string>
40 #include <google/protobuf/compiler/java/java_field.h> 40 #include <vector>
41 #include <google/protobuf/compiler/javanano/javanano_field.h>
41 42
42 namespace google { 43 namespace google {
43 namespace protobuf { 44 namespace protobuf {
44 namespace compiler { 45 namespace compiler {
45 namespace java { 46 namespace javanano {
46 47
47 class EnumFieldGenerator : public FieldGenerator { 48 class EnumFieldGenerator : public FieldGenerator {
48 public: 49 public:
49 explicit EnumFieldGenerator(const FieldDescriptor* descriptor, 50 explicit EnumFieldGenerator(
50 int messageBitIndex, int builderBitIndex); 51 const FieldDescriptor* descriptor, const Params& params);
51 ~EnumFieldGenerator(); 52 ~EnumFieldGenerator();
52 53
53 // implements FieldGenerator --------------------------------------- 54 // implements FieldGenerator ---------------------------------------
54 int GetNumBitsForMessage() const; 55 void GenerateMembers(io::Printer* printer, bool lazy_init) const;
55 int GetNumBitsForBuilder() const; 56 void GenerateClearCode(io::Printer* printer) const;
56 void GenerateInterfaceMembers(io::Printer* printer) const;
57 void GenerateMembers(io::Printer* printer) const;
58 void GenerateBuilderMembers(io::Printer* printer) const;
59 void GenerateInitializationCode(io::Printer* printer) const;
60 void GenerateBuilderClearCode(io::Printer* printer) const;
61 void GenerateMergingCode(io::Printer* printer) const; 57 void GenerateMergingCode(io::Printer* printer) const;
62 void GenerateBuildingCode(io::Printer* printer) const;
63 void GenerateParsingCode(io::Printer* printer) const;
64 void GenerateParsingDoneCode(io::Printer* printer) const;
65 void GenerateSerializationCode(io::Printer* printer) const; 58 void GenerateSerializationCode(io::Printer* printer) const;
66 void GenerateSerializedSizeCode(io::Printer* printer) const; 59 void GenerateSerializedSizeCode(io::Printer* printer) const;
67 void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
68 void GenerateEqualsCode(io::Printer* printer) const; 60 void GenerateEqualsCode(io::Printer* printer) const;
69 void GenerateHashCode(io::Printer* printer) const; 61 void GenerateHashCodeCode(io::Printer* printer) const;
70
71 string GetBoxedType() const;
72 62
73 private: 63 private:
74 const FieldDescriptor* descriptor_; 64 const FieldDescriptor* descriptor_;
75 map<string, string> variables_; 65 map<string, string> variables_;
76 const int messageBitIndex_; 66 vector<string> canonical_values_;
77 const int builderBitIndex_;
78 67
79 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator); 68 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
80 }; 69 };
81 70
82 class RepeatedEnumFieldGenerator : public FieldGenerator { 71 class AccessorEnumFieldGenerator : public FieldGenerator {
83 public: 72 public:
84 explicit RepeatedEnumFieldGenerator(const FieldDescriptor* descriptor, 73 explicit AccessorEnumFieldGenerator(const FieldDescriptor* descriptor,
85 int messageBitIndex, int builderBitIndex); 74 const Params& params, int has_bit_index);
86 ~RepeatedEnumFieldGenerator(); 75 ~AccessorEnumFieldGenerator();
87 76
88 // implements FieldGenerator --------------------------------------- 77 // implements FieldGenerator ---------------------------------------
89 int GetNumBitsForMessage() const; 78 void GenerateMembers(io::Printer* printer, bool lazy_init) const;
90 int GetNumBitsForBuilder() const; 79 void GenerateClearCode(io::Printer* printer) const;
91 void GenerateInterfaceMembers(io::Printer* printer) const;
92 void GenerateMembers(io::Printer* printer) const;
93 void GenerateBuilderMembers(io::Printer* printer) const;
94 void GenerateInitializationCode(io::Printer* printer) const;
95 void GenerateBuilderClearCode(io::Printer* printer) const;
96 void GenerateMergingCode(io::Printer* printer) const; 80 void GenerateMergingCode(io::Printer* printer) const;
97 void GenerateBuildingCode(io::Printer* printer) const;
98 void GenerateParsingCode(io::Printer* printer) const;
99 void GenerateParsingCodeFromPacked(io::Printer* printer) const;
100 void GenerateParsingDoneCode(io::Printer* printer) const;
101 void GenerateSerializationCode(io::Printer* printer) const; 81 void GenerateSerializationCode(io::Printer* printer) const;
102 void GenerateSerializedSizeCode(io::Printer* printer) const; 82 void GenerateSerializedSizeCode(io::Printer* printer) const;
103 void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
104 void GenerateEqualsCode(io::Printer* printer) const; 83 void GenerateEqualsCode(io::Printer* printer) const;
105 void GenerateHashCode(io::Printer* printer) const; 84 void GenerateHashCodeCode(io::Printer* printer) const;
106
107 string GetBoxedType() const;
108 85
109 private: 86 private:
110 const FieldDescriptor* descriptor_; 87 const FieldDescriptor* descriptor_;
111 map<string, string> variables_; 88 map<string, string> variables_;
112 const int messageBitIndex_; 89 vector<string> canonical_values_;
113 const int builderBitIndex_; 90
91 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(AccessorEnumFieldGenerator);
92 };
93
94 class RepeatedEnumFieldGenerator : public FieldGenerator {
95 public:
96 explicit RepeatedEnumFieldGenerator(
97 const FieldDescriptor* descriptor, const Params& params);
98 ~RepeatedEnumFieldGenerator();
99
100 // implements FieldGenerator ---------------------------------------
101 void GenerateMembers(io::Printer* printer, bool lazy_init) const;
102 void GenerateClearCode(io::Printer* printer) const;
103 void GenerateMergingCode(io::Printer* printer) const;
104 void GenerateMergingCodeFromPacked(io::Printer* printer) const;
105 void GenerateSerializationCode(io::Printer* printer) const;
106 void GenerateSerializedSizeCode(io::Printer* printer) const;
107 void GenerateEqualsCode(io::Printer* printer) const;
108 void GenerateHashCodeCode(io::Printer* printer) const;
109 void GenerateFixClonedCode(io::Printer* printer) const;
110
111 private:
112 void GenerateRepeatedDataSizeCode(io::Printer* printer) const;
113
114 const FieldDescriptor* descriptor_;
115 map<string, string> variables_;
116 vector<string> canonical_values_;
114 117
115 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedEnumFieldGenerator); 118 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedEnumFieldGenerator);
116 }; 119 };
117 120
118 } // namespace java 121 } // namespace javanano
119 } // namespace compiler 122 } // namespace compiler
120 } // namespace protobuf 123 } // namespace protobuf
121 124
122 } // namespace google 125 } // namespace google
123 #endif // GOOGLE_PROTOBUF_COMPILER_JAVA_ENUM_FIELD_H__ 126 #endif // GOOGLE_PROTOBUF_COMPILER_JAVANANO_ENUM_FIELD_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698