47
47
class PrimitiveFieldGenerator : public FieldGenerator {
49
explicit PrimitiveFieldGenerator(const FieldDescriptor* descriptor);
49
explicit PrimitiveFieldGenerator(const FieldDescriptor* descriptor,
50
int messageBitIndex, int builderBitIndex);
50
51
~PrimitiveFieldGenerator();
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;
62
70
string GetBoxedType() const;
65
73
const FieldDescriptor* descriptor_;
66
74
map<string, string> variables_;
75
const int messageBitIndex_;
76
const int builderBitIndex_;
68
78
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
71
81
class RepeatedPrimitiveFieldGenerator : public FieldGenerator {
73
explicit RepeatedPrimitiveFieldGenerator(const FieldDescriptor* descriptor);
83
explicit RepeatedPrimitiveFieldGenerator(const FieldDescriptor* descriptor,
84
int messageBitIndex, int builderBitIndex);
74
85
~RepeatedPrimitiveFieldGenerator();
76
87
// implements FieldGenerator ---------------------------------------
88
int GetNumBitsForMessage() const;
89
int GetNumBitsForBuilder() const;
90
void GenerateInterfaceMembers(io::Printer* printer) const;
77
91
void GenerateMembers(io::Printer* printer) const;
78
92
void GenerateBuilderMembers(io::Printer* printer) const;
79
93
void GenerateInitializationCode(io::Printer* printer) const;
94
void GenerateBuilderClearCode(io::Printer* printer) const;
80
95
void GenerateMergingCode(io::Printer* printer) const;
81
96
void GenerateBuildingCode(io::Printer* printer) const;
82
97
void GenerateParsingCode(io::Printer* printer) const;
83
98
void GenerateParsingCodeFromPacked(io::Printer* printer) const;
84
99
void GenerateSerializationCode(io::Printer* printer) const;
85
100
void GenerateSerializedSizeCode(io::Printer* printer) const;
101
void GenerateFieldBuilderInitializationCode(io::Printer* printer) const;
102
void GenerateEqualsCode(io::Printer* printer) const;
103
void GenerateHashCode(io::Printer* printer) const;
87
105
string GetBoxedType() const;
90
108
const FieldDescriptor* descriptor_;
91
109
map<string, string> variables_;
110
const int messageBitIndex_;
111
const int builderBitIndex_;
93
113
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedPrimitiveFieldGenerator);