~ubuntu-branches/ubuntu/trusty/protobuf/trusty-proposed

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2011-05-31 14:41:47 UTC
  • mfrom: (2.2.8 sid)
  • Revision ID: james.westby@ubuntu.com-20110531144147-s41g5fozgvyo462l
Tags: 2.4.0a-2ubuntu1
* Merge with Debian; remaining changes:
  - Fix linking with -lpthread.

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
 
47
47
class MessageFieldGenerator : public FieldGenerator {
48
48
 public:
49
 
  explicit MessageFieldGenerator(const FieldDescriptor* descriptor);
 
49
  explicit MessageFieldGenerator(const FieldDescriptor* descriptor,
 
50
      int messageBitIndex, int builderBitIndex);
50
51
  ~MessageFieldGenerator();
51
52
 
52
53
  // implements FieldGenerator ---------------------------------------
 
54
  int GetNumBitsForMessage() const;
 
55
  int GetNumBitsForBuilder() const;
 
56
  void GenerateInterfaceMembers(io::Printer* printer) const;
53
57
  void GenerateMembers(io::Printer* printer) const;
54
58
  void GenerateBuilderMembers(io::Printer* printer) const;
55
59
  void GenerateInitializationCode(io::Printer* printer) const;
 
60
  void GenerateBuilderClearCode(io::Printer* printer) const;
56
61
  void GenerateMergingCode(io::Printer* printer) const;
57
62
  void GenerateBuildingCode(io::Printer* printer) const;
58
63
  void GenerateParsingCode(io::Printer* printer) const;
59
64
  void GenerateSerializationCode(io::Printer* printer) const;
60
65
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
66
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
 
67
  void GenerateEqualsCode(io::Printer* printer) const;
 
68
  void GenerateHashCode(io::Printer* printer) const;
61
69
 
62
70
  string GetBoxedType() const;
63
71
 
64
72
 private:
65
73
  const FieldDescriptor* descriptor_;
66
74
  map<string, string> variables_;
 
75
  const int messageBitIndex_;
 
76
  const int builderBitIndex_;
67
77
 
68
78
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
 
79
 
 
80
  void PrintNestedBuilderCondition(io::Printer* printer,
 
81
      const char* regular_case, const char* nested_builder_case) const;
 
82
  void PrintNestedBuilderFunction(io::Printer* printer,
 
83
      const char* method_prototype, const char* regular_case,
 
84
      const char* nested_builder_case,
 
85
      const char* trailing_code) const;
69
86
};
70
87
 
71
88
class RepeatedMessageFieldGenerator : public FieldGenerator {
72
89
 public:
73
 
  explicit RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor);
 
90
  explicit RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor,
 
91
      int messageBitIndex, int builderBitIndex);
74
92
  ~RepeatedMessageFieldGenerator();
75
93
 
76
94
  // implements FieldGenerator ---------------------------------------
 
95
  int GetNumBitsForMessage() const;
 
96
  int GetNumBitsForBuilder() const;
 
97
  void GenerateInterfaceMembers(io::Printer* printer) const;
77
98
  void GenerateMembers(io::Printer* printer) const;
78
99
  void GenerateBuilderMembers(io::Printer* printer) const;
79
100
  void GenerateInitializationCode(io::Printer* printer) const;
 
101
  void GenerateBuilderClearCode(io::Printer* printer) const;
80
102
  void GenerateMergingCode(io::Printer* printer) const;
81
103
  void GenerateBuildingCode(io::Printer* printer) const;
82
104
  void GenerateParsingCode(io::Printer* printer) const;
83
105
  void GenerateSerializationCode(io::Printer* printer) const;
84
106
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
107
  void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
 
108
  void GenerateEqualsCode(io::Printer* printer) const;
 
109
  void GenerateHashCode(io::Printer* printer) const;
85
110
 
86
111
  string GetBoxedType() const;
87
112
 
88
113
 private:
89
114
  const FieldDescriptor* descriptor_;
90
115
  map<string, string> variables_;
 
116
  const int messageBitIndex_;
 
117
  const int builderBitIndex_;
91
118
 
92
119
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedMessageFieldGenerator);
 
120
 
 
121
  void PrintNestedBuilderCondition(io::Printer* printer,
 
122
      const char* regular_case, const char* nested_builder_case) const;
 
123
  void PrintNestedBuilderFunction(io::Printer* printer,
 
124
      const char* method_prototype, const char* regular_case,
 
125
      const char* nested_builder_case,
 
126
      const char* trailing_code) const;
93
127
};
94
128
 
95
129
}  // namespace java