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

« back to all changes in this revision

Viewing changes to src/google/protobuf/compiler/java/java_enum_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 EnumFieldGenerator : public FieldGenerator {
 
56
class ImmutableEnumFieldGenerator : public ImmutableFieldGenerator {
48
57
 public:
49
 
  explicit EnumFieldGenerator(const FieldDescriptor* descriptor,
50
 
      int messageBitIndex, int builderBitIndex);
51
 
  ~EnumFieldGenerator();
 
58
  explicit ImmutableEnumFieldGenerator(
 
59
      const FieldDescriptor* descriptor, int messageBitIndex,
 
60
      int builderBitIndex, Context* context);
 
61
  ~ImmutableEnumFieldGenerator();
52
62
 
53
 
  // implements FieldGenerator ---------------------------------------
 
63
  // implements ImmutableFieldGenerator ---------------------------------------
54
64
  int GetNumBitsForMessage() const;
55
65
  int GetNumBitsForBuilder() const;
56
66
  void GenerateInterfaceMembers(io::Printer* printer) const;
70
80
 
71
81
  string GetBoxedType() const;
72
82
 
73
 
 private:
 
83
 protected:
74
84
  const FieldDescriptor* descriptor_;
75
85
  map<string, string> variables_;
76
86
  const int messageBitIndex_;
77
87
  const int builderBitIndex_;
78
 
 
79
 
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
80
 
};
81
 
 
82
 
class RepeatedEnumFieldGenerator : public FieldGenerator {
83
 
 public:
84
 
  explicit RepeatedEnumFieldGenerator(const FieldDescriptor* descriptor,
85
 
      int messageBitIndex, int builderBitIndex);
86
 
  ~RepeatedEnumFieldGenerator();
87
 
 
88
 
  // implements FieldGenerator ---------------------------------------
 
88
  Context* context_;
 
89
  ClassNameResolver* name_resolver_;
 
90
 
 
91
 private:
 
92
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldGenerator);
 
93
};
 
94
 
 
95
class ImmutableEnumOneofFieldGenerator : public ImmutableEnumFieldGenerator {
 
96
 public:
 
97
  ImmutableEnumOneofFieldGenerator(
 
98
      const FieldDescriptor* descriptor, int messageBitIndex,
 
99
      int builderBitIndex, Context* context);
 
100
  ~ImmutableEnumOneofFieldGenerator();
 
101
 
 
102
  void GenerateMembers(io::Printer* printer) const;
 
103
  void GenerateBuilderMembers(io::Printer* printer) const;
 
104
  void GenerateMergingCode(io::Printer* printer) const;
 
105
  void GenerateBuildingCode(io::Printer* printer) const;
 
106
  void GenerateParsingCode(io::Printer* printer) const;
 
107
  void GenerateSerializationCode(io::Printer* printer) const;
 
108
  void GenerateSerializedSizeCode(io::Printer* printer) const;
 
109
 
 
110
 private:
 
111
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldGenerator);
 
112
};
 
113
 
 
114
class RepeatedImmutableEnumFieldGenerator : public ImmutableFieldGenerator {
 
115
 public:
 
116
  explicit RepeatedImmutableEnumFieldGenerator(
 
117
      const FieldDescriptor* descriptor, int messageBitIndex,
 
118
      int builderBitIndex, Context* context);
 
119
  ~RepeatedImmutableEnumFieldGenerator();
 
120
 
 
121
  // implements ImmutableFieldGenerator ---------------------------------------
89
122
  int GetNumBitsForMessage() const;
90
123
  int GetNumBitsForBuilder() const;
91
124
  void GenerateInterfaceMembers(io::Printer* printer) const;
111
144
  map<string, string> variables_;
112
145
  const int messageBitIndex_;
113
146
  const int builderBitIndex_;
 
147
  Context* context_;
 
148
  ClassNameResolver* name_resolver_;
114
149
 
115
 
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedEnumFieldGenerator);
 
150
  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldGenerator);
116
151
};
117
152
 
118
153
}  // namespace java