webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
java_message_lite.h
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 // Author: dweis@google.com (Daniel Weis)
32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others.
34 
35 #ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_LITE_H__
36 #define GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_LITE_H__
37 
38 #include <string>
39 #include <map>
42 
43 namespace google {
44 namespace protobuf {
45 namespace compiler {
46 namespace java {
47 
49  public:
51  Context* context);
53 
54  virtual void Generate(io::Printer* printer);
55  virtual void GenerateInterface(io::Printer* printer);
56  virtual void GenerateExtensionRegistrationCode(io::Printer* printer);
57  virtual void GenerateStaticVariables(
58  io::Printer* printer, int* bytecode_estimate);
59  virtual int GenerateStaticVariableInitializers(io::Printer* printer);
60 
61  private:
62 
63  void GenerateMessageSerializationMethods(io::Printer* printer);
64  void GenerateParseFromMethods(io::Printer* printer);
65  void GenerateSerializeOneField(io::Printer* printer,
66  const FieldDescriptor* field);
67  void GenerateSerializeOneExtensionRange(
68  io::Printer* printer, const Descriptor::ExtensionRange* range);
69 
70  void GenerateBuilder(io::Printer* printer);
71  void GenerateDynamicMethodIsInitialized(io::Printer* printer);
72  void GenerateDynamicMethodMakeImmutable(io::Printer* printer);
73  void GenerateDynamicMethodVisit(io::Printer* printer);
74  void GenerateDynamicMethodMergeFromStream(io::Printer* printer);
75  void GenerateDynamicMethodNewBuilder(io::Printer* printer);
76  void GenerateInitializers(io::Printer* printer);
77  void GenerateEqualsAndHashCode(io::Printer* printer);
78  void GenerateParser(io::Printer* printer);
79  void GenerateConstructor(io::Printer* printer);
80 
81  Context* context_;
82  ClassNameResolver* name_resolver_;
84 
85  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageLiteGenerator);
86 };
87 
88 } // namespace java
89 } // namespace compiler
90 } // namespace protobuf
91 
92 } // namespace google
93 #endif // GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_LITE_H__
Definition: upb.c:6604
virtual void GenerateInterface(io::Printer *printer)
Definition: java_message_lite.cc:122
virtual void GenerateExtensionRegistrationCode(io::Printer *printer)
Definition: java_message_lite.cc:1042
Definition: printer.h:164
const FieldDescriptor * field
Definition: parser_unittest.cc:2279
const Descriptor * descriptor
Definition: descriptor.cc:271
Definition: descriptor.h:172
Definition: descriptor.h:439
Definition: java_name_resolver.h:53
ImmutableMessageLiteGenerator(const Descriptor *descriptor, Context *context)
Definition: java_message_lite.cc:85
virtual void Generate(io::Printer *printer)
Definition: java_message_lite.cc:165
virtual void GenerateStaticVariables(io::Printer *printer, int *bytecode_estimate)
Definition: java_message_lite.cc:97
Definition: __init__.py:1
Definition: java_context.h:65
virtual ~ImmutableMessageLiteGenerator()
Definition: java_message_lite.cc:95
virtual int GenerateStaticVariableInitializers(io::Printer *printer)
Definition: java_message_lite.cc:107
Definition: gflags_completions.h:115
U_CDECL_BEGIN typedef void * context
Definition: ustring.h:1023
GLenum GLint * range
Definition: gl2.h:450