~ubuntu-branches/debian/stretch/protobuf/stretch

« back to all changes in this revision

Viewing changes to src/google/protobuf/compiler/java/java_message_field.h

  • Committer: Package Import Robot
  • Author(s): Robert S. Edmonds
  • Date: 2014-09-11 22:50:10 UTC
  • mfrom: (10.1.9 experimental)
  • Revision ID: package-import@ubuntu.com-20140911225010-wt4yo9dpc1fzuq5g
Tags: 2.6.0-3
Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
 
42
42
namespace google {
43
43
namespace protobuf {
 
44
  namespace compiler {
 
45
    namespace java {
 
46
      class Context;           // context.h
 
47
      class ClassNameResolver; // name_resolver.h
 
48
    }
 
49
  }
 
50
}
 
51
 
 
52
namespace protobuf {
44
53
namespace compiler {
45
54
namespace java {
46
55
 
47
 
class MessageFieldGenerator : public FieldGenerator {
48
 
 public:
49
 
  explicit MessageFieldGenerator(const FieldDescriptor* descriptor,
50
 
      int messageBitIndex, int builderBitIndex);
51
 
  ~MessageFieldGenerator();
52
 
 
53
 
  // implements FieldGenerator ---------------------------------------
54
 
  int GetNumBitsForMessage() const;
55
 
  int GetNumBitsForBuilder() 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;
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;
66
 
  void GenerateSerializedSizeCode(io::Printer* printer) const;
67
 
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
68
 
  void GenerateEqualsCode(io::Printer* printer) const;
69
 
  void GenerateHashCode(io::Printer* printer) const;
70
 
 
71
 
  string GetBoxedType() const;
72
 
 
73
 
 private:
74
 
  const FieldDescriptor* descriptor_;
75
 
  map<string, string> variables_;
76
 
  const int messageBitIndex_;
77
 
  const int builderBitIndex_;
78
 
 
79
 
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
80
 
 
81
 
  void PrintNestedBuilderCondition(io::Printer* printer,
82
 
      const char* regular_case, const char* nested_builder_case) const;
83
 
  void PrintNestedBuilderFunction(io::Printer* printer,
84
 
      const char* method_prototype, const char* regular_case,
85
 
      const char* nested_builder_case,
86
 
      const char* trailing_code) const;
87
 
};
88
 
 
89
 
class RepeatedMessageFieldGenerator : public FieldGenerator {
90
 
 public:
91
 
  explicit RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor,
92
 
      int messageBitIndex, int builderBitIndex);
93
 
  ~RepeatedMessageFieldGenerator();
94
 
 
95
 
  // implements FieldGenerator ---------------------------------------
96
 
  int GetNumBitsForMessage() const;
97
 
  int GetNumBitsForBuilder() const;
98
 
  void GenerateInterfaceMembers(io::Printer* printer) const;
99
 
  void GenerateMembers(io::Printer* printer) const;
100
 
  void GenerateBuilderMembers(io::Printer* printer) const;
101
 
  void GenerateInitializationCode(io::Printer* printer) const;
102
 
  void GenerateBuilderClearCode(io::Printer* printer) const;
103
 
  void GenerateMergingCode(io::Printer* printer) const;
104
 
  void GenerateBuildingCode(io::Printer* printer) const;
105
 
  void GenerateParsingCode(io::Printer* printer) const;
106
 
  void GenerateParsingDoneCode(io::Printer* printer) const;
107
 
  void GenerateSerializationCode(io::Printer* printer) const;
108
 
  void GenerateSerializedSizeCode(io::Printer* printer) const;
109
 
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
110
 
  void GenerateEqualsCode(io::Printer* printer) const;
111
 
  void GenerateHashCode(io::Printer* printer) const;
112
 
 
113
 
  string GetBoxedType() const;
114
 
 
115
 
 private:
116
 
  const FieldDescriptor* descriptor_;
117
 
  map<string, string> variables_;
118
 
  const int messageBitIndex_;
119
 
  const int builderBitIndex_;
120
 
 
121
 
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedMessageFieldGenerator);
122
 
 
123
 
  void PrintNestedBuilderCondition(io::Printer* printer,
124
 
      const char* regular_case, const char* nested_builder_case) const;
125
 
  void PrintNestedBuilderFunction(io::Printer* printer,
126
 
      const char* method_prototype, const char* regular_case,
127
 
      const char* nested_builder_case,
128
 
      const char* trailing_code) const;
 
56
class ImmutableMessageFieldGenerator : public ImmutableFieldGenerator {
 
57
 public:
 
58
  explicit ImmutableMessageFieldGenerator(
 
59
      const FieldDescriptor* descriptor, int messageBitIndex,
 
60
      int builderBitIndex, Context* context);
 
61
  ~ImmutableMessageFieldGenerator();
 
62
 
 
63
  // implements ImmutableFieldGenerator ---------------------------------------
 
64
  int GetNumBitsForMessage() const;
 
65
  int GetNumBitsForBuilder() const;
 
66
  void GenerateInterfaceMembers(io::Printer* printer) const;
 
67
  void GenerateMembers(io::Printer* printer) const;
 
68
  void GenerateBuilderMembers(io::Printer* printer) const;
 
69
  void GenerateInitializationCode(io::Printer* printer) const;
 
70
  void GenerateBuilderClearCode(io::Printer* printer) const;
 
71
  void GenerateMergingCode(io::Printer* printer) const;
 
72
  void GenerateBuildingCode(io::Printer* printer) const;
 
73
  void GenerateParsingCode(io::Printer* printer) const;
 
74
  void GenerateParsingDoneCode(io::Printer* printer) const;
 
75
  void GenerateSerializationCode(io::Printer* printer) const;
 
76
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
77
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
 
78
  void GenerateEqualsCode(io::Printer* printer) const;
 
79
  void GenerateHashCode(io::Printer* printer) const;
 
80
 
 
81
  string GetBoxedType() const;
 
82
 
 
83
 protected:
 
84
  const FieldDescriptor* descriptor_;
 
85
  map<string, string> variables_;
 
86
  const int messageBitIndex_;
 
87
  const int builderBitIndex_;
 
88
  Context* context_;
 
89
  ClassNameResolver* name_resolver_;
 
90
 
 
91
  void PrintNestedBuilderCondition(io::Printer* printer,
 
92
      const char* regular_case, const char* nested_builder_case) const;
 
93
  void PrintNestedBuilderFunction(io::Printer* printer,
 
94
      const char* method_prototype, const char* regular_case,
 
95
      const char* nested_builder_case,
 
96
      const char* trailing_code) const;
 
97
 
 
98
 private:
 
99
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldGenerator);
 
100
};
 
101
 
 
102
class ImmutableMessageOneofFieldGenerator
 
103
    : public ImmutableMessageFieldGenerator {
 
104
 public:
 
105
  ImmutableMessageOneofFieldGenerator(
 
106
      const FieldDescriptor* descriptor, int messageBitIndex,
 
107
      int builderBitIndex, Context* context);
 
108
  ~ImmutableMessageOneofFieldGenerator();
 
109
 
 
110
  void GenerateMembers(io::Printer* printer) const;
 
111
  void GenerateBuilderMembers(io::Printer* printer) const;
 
112
  void GenerateBuildingCode(io::Printer* printer) const;
 
113
  void GenerateMergingCode(io::Printer* printer) const;
 
114
  void GenerateParsingCode(io::Printer* printer) const;
 
115
  void GenerateSerializationCode(io::Printer* printer) const;
 
116
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
117
 
 
118
 private:
 
119
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageOneofFieldGenerator);
 
120
};
 
121
 
 
122
class RepeatedImmutableMessageFieldGenerator : public ImmutableFieldGenerator {
 
123
 public:
 
124
  explicit RepeatedImmutableMessageFieldGenerator(
 
125
      const FieldDescriptor* descriptor, int messageBitIndex,
 
126
      int builderBitIndex, Context* context);
 
127
  ~RepeatedImmutableMessageFieldGenerator();
 
128
 
 
129
  // implements ImmutableFieldGenerator ---------------------------------------
 
130
  int GetNumBitsForMessage() const;
 
131
  int GetNumBitsForBuilder() const;
 
132
  void GenerateInterfaceMembers(io::Printer* printer) const;
 
133
  void GenerateMembers(io::Printer* printer) const;
 
134
  void GenerateBuilderMembers(io::Printer* printer) const;
 
135
  void GenerateInitializationCode(io::Printer* printer) const;
 
136
  void GenerateBuilderClearCode(io::Printer* printer) const;
 
137
  void GenerateMergingCode(io::Printer* printer) const;
 
138
  void GenerateBuildingCode(io::Printer* printer) const;
 
139
  void GenerateParsingCode(io::Printer* printer) const;
 
140
  void GenerateParsingDoneCode(io::Printer* printer) const;
 
141
  void GenerateSerializationCode(io::Printer* printer) const;
 
142
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
143
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
 
144
  void GenerateEqualsCode(io::Printer* printer) const;
 
145
  void GenerateHashCode(io::Printer* printer) const;
 
146
 
 
147
  string GetBoxedType() const;
 
148
 
 
149
 protected:
 
150
  const FieldDescriptor* descriptor_;
 
151
  map<string, string> variables_;
 
152
  const int messageBitIndex_;
 
153
  const int builderBitIndex_;
 
154
  Context* context_;
 
155
  ClassNameResolver* name_resolver_;
 
156
 
 
157
  void PrintNestedBuilderCondition(io::Printer* printer,
 
158
      const char* regular_case, const char* nested_builder_case) const;
 
159
  void PrintNestedBuilderFunction(io::Printer* printer,
 
160
      const char* method_prototype, const char* regular_case,
 
161
      const char* nested_builder_case,
 
162
      const char* trailing_code) const;
 
163
 
 
164
 private:
 
165
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldGenerator);
129
166
};
130
167
 
131
168
}  // namespace java