OLD | NEW |
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 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 ~StringFieldGenerator(); | 51 ~StringFieldGenerator(); |
52 | 52 |
53 // implements FieldGenerator --------------------------------------- | 53 // implements FieldGenerator --------------------------------------- |
54 void GeneratePrivateMembers(io::Printer* printer) const; | 54 void GeneratePrivateMembers(io::Printer* printer) const; |
55 void GenerateStaticMembers(io::Printer* printer) const; | 55 void GenerateStaticMembers(io::Printer* printer) const; |
56 void GenerateAccessorDeclarations(io::Printer* printer) const; | 56 void GenerateAccessorDeclarations(io::Printer* printer) const; |
57 void GenerateInlineAccessorDefinitions(io::Printer* printer, | 57 void GenerateInlineAccessorDefinitions(io::Printer* printer, |
58 bool is_inline) const; | 58 bool is_inline) const; |
59 void GenerateNonInlineAccessorDefinitions(io::Printer* printer) const; | 59 void GenerateNonInlineAccessorDefinitions(io::Printer* printer) const; |
60 void GenerateClearingCode(io::Printer* printer) const; | 60 void GenerateClearingCode(io::Printer* printer) const; |
61 void GenerateMessageClearingCode(io::Printer* printer) const; | |
62 void GenerateMergingCode(io::Printer* printer) const; | 61 void GenerateMergingCode(io::Printer* printer) const; |
63 void GenerateSwappingCode(io::Printer* printer) const; | 62 void GenerateSwappingCode(io::Printer* printer) const; |
64 void GenerateConstructorCode(io::Printer* printer) const; | 63 void GenerateConstructorCode(io::Printer* printer) const; |
65 void GenerateCopyConstructorCode(io::Printer* printer) const; | |
66 void GenerateDestructorCode(io::Printer* printer) const; | 64 void GenerateDestructorCode(io::Printer* printer) const; |
67 void GenerateDefaultInstanceAllocator(io::Printer* printer) const; | 65 void GenerateDefaultInstanceAllocator(io::Printer* printer) const; |
68 void GenerateShutdownCode(io::Printer* printer) const; | 66 void GenerateShutdownCode(io::Printer* printer) const; |
69 void GenerateMergeFromCodedStream(io::Printer* printer) const; | 67 void GenerateMergeFromCodedStream(io::Printer* printer) const; |
70 void GenerateSerializeWithCachedSizes(io::Printer* printer) const; | 68 void GenerateSerializeWithCachedSizes(io::Printer* printer) const; |
71 void GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const; | 69 void GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const; |
72 void GenerateByteSize(io::Printer* printer) const; | 70 void GenerateByteSize(io::Printer* printer) const; |
73 | 71 |
74 protected: | 72 protected: |
75 const FieldDescriptor* descriptor_; | 73 const FieldDescriptor* descriptor_; |
76 std::map<string, string> variables_; | 74 map<string, string> variables_; |
77 | 75 |
78 private: | 76 private: |
79 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator); | 77 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator); |
80 }; | 78 }; |
81 | 79 |
82 class StringOneofFieldGenerator : public StringFieldGenerator { | 80 class StringOneofFieldGenerator : public StringFieldGenerator { |
83 public: | 81 public: |
84 StringOneofFieldGenerator(const FieldDescriptor* descriptor, | 82 StringOneofFieldGenerator(const FieldDescriptor* descriptor, |
85 const Options& options); | 83 const Options& options); |
86 ~StringOneofFieldGenerator(); | 84 ~StringOneofFieldGenerator(); |
87 | 85 |
88 // implements FieldGenerator --------------------------------------- | 86 // implements FieldGenerator --------------------------------------- |
89 void GenerateInlineAccessorDefinitions(io::Printer* printer, | 87 void GenerateInlineAccessorDefinitions(io::Printer* printer, |
90 bool is_inline) const; | 88 bool is_inline) const; |
91 void GenerateClearingCode(io::Printer* printer) const; | 89 void GenerateClearingCode(io::Printer* printer) const; |
92 | |
93 // StringFieldGenerator, from which we inherit, overrides this so we need to | |
94 // override it as well. | |
95 void GenerateMessageClearingCode(io::Printer* printer) const; | |
96 void GenerateSwappingCode(io::Printer* printer) const; | 90 void GenerateSwappingCode(io::Printer* printer) const; |
97 void GenerateConstructorCode(io::Printer* printer) const; | 91 void GenerateConstructorCode(io::Printer* printer) const; |
98 void GenerateDestructorCode(io::Printer* printer) const; | 92 void GenerateDestructorCode(io::Printer* printer) const; |
99 void GenerateMergeFromCodedStream(io::Printer* printer) const; | 93 void GenerateMergeFromCodedStream(io::Printer* printer) const; |
100 | 94 |
101 private: | 95 private: |
102 const bool dependent_field_; | 96 const bool dependent_field_; |
103 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringOneofFieldGenerator); | 97 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringOneofFieldGenerator); |
104 }; | 98 }; |
105 | 99 |
106 class RepeatedStringFieldGenerator : public FieldGenerator { | 100 class RepeatedStringFieldGenerator : public FieldGenerator { |
107 public: | 101 public: |
108 RepeatedStringFieldGenerator(const FieldDescriptor* descriptor, | 102 RepeatedStringFieldGenerator(const FieldDescriptor* descriptor, |
109 const Options& options); | 103 const Options& options); |
110 ~RepeatedStringFieldGenerator(); | 104 ~RepeatedStringFieldGenerator(); |
111 | 105 |
112 // implements FieldGenerator --------------------------------------- | 106 // implements FieldGenerator --------------------------------------- |
113 void GeneratePrivateMembers(io::Printer* printer) const; | 107 void GeneratePrivateMembers(io::Printer* printer) const; |
114 void GenerateAccessorDeclarations(io::Printer* printer) const; | 108 void GenerateAccessorDeclarations(io::Printer* printer) const; |
115 void GenerateInlineAccessorDefinitions(io::Printer* printer, | 109 void GenerateInlineAccessorDefinitions(io::Printer* printer, |
116 bool is_inline) const; | 110 bool is_inline) const; |
117 void GenerateClearingCode(io::Printer* printer) const; | 111 void GenerateClearingCode(io::Printer* printer) const; |
118 void GenerateMergingCode(io::Printer* printer) const; | 112 void GenerateMergingCode(io::Printer* printer) const; |
119 void GenerateSwappingCode(io::Printer* printer) const; | 113 void GenerateSwappingCode(io::Printer* printer) const; |
120 void GenerateConstructorCode(io::Printer* printer) const; | 114 void GenerateConstructorCode(io::Printer* printer) const; |
121 void GenerateCopyConstructorCode(io::Printer* printer) const; | |
122 void GenerateMergeFromCodedStream(io::Printer* printer) const; | 115 void GenerateMergeFromCodedStream(io::Printer* printer) const; |
123 void GenerateSerializeWithCachedSizes(io::Printer* printer) const; | 116 void GenerateSerializeWithCachedSizes(io::Printer* printer) const; |
124 void GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const; | 117 void GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const; |
125 void GenerateByteSize(io::Printer* printer) const; | 118 void GenerateByteSize(io::Printer* printer) const; |
126 | 119 |
127 private: | 120 private: |
128 const FieldDescriptor* descriptor_; | 121 const FieldDescriptor* descriptor_; |
129 std::map<string, string> variables_; | 122 map<string, string> variables_; |
130 | 123 |
131 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedStringFieldGenerator); | 124 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedStringFieldGenerator); |
132 }; | 125 }; |
133 | 126 |
134 } // namespace cpp | 127 } // namespace cpp |
135 } // namespace compiler | 128 } // namespace compiler |
136 } // namespace protobuf | 129 } // namespace protobuf |
137 | 130 |
138 } // namespace google | 131 } // namespace google |
139 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_STRING_FIELD_H__ | 132 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_STRING_FIELD_H__ |
OLD | NEW |