Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.h

Issue 21208003: Update protobuf to r428, part 1. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // http://code.google.com/p/protobuf/ 3 // http://code.google.com/p/protobuf/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 19 matching lines...) Expand all
30 30
31 // Author: kenton@google.com (Kenton Varda) 31 // Author: kenton@google.com (Kenton Varda)
32 // Based on original Protocol Buffers design by 32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others. 33 // Sanjay Ghemawat, Jeff Dean, and others.
34 34
35 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_EXTENSION_H__ 35 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_EXTENSION_H__
36 #define GOOGLE_PROTOBUF_COMPILER_CPP_EXTENSION_H__ 36 #define GOOGLE_PROTOBUF_COMPILER_CPP_EXTENSION_H__
37 37
38 #include <string> 38 #include <string>
39 #include <google/protobuf/stubs/common.h> 39 #include <google/protobuf/stubs/common.h>
40 #include <google/protobuf/compiler/cpp/cpp_options.h>
40 41
41 namespace google { 42 namespace google {
42 namespace protobuf { 43 namespace protobuf {
43 class FieldDescriptor; // descriptor.h 44 class FieldDescriptor; // descriptor.h
44 namespace io { 45 namespace io {
45 class Printer; // printer.h 46 class Printer; // printer.h
46 } 47 }
47 } 48 }
48 49
49 namespace protobuf { 50 namespace protobuf {
50 namespace compiler { 51 namespace compiler {
51 namespace cpp { 52 namespace cpp {
52 53
53 // Generates code for an extension, which may be within the scope of some 54 // Generates code for an extension, which may be within the scope of some
54 // message or may be at file scope. This is much simpler than FieldGenerator 55 // message or may be at file scope. This is much simpler than FieldGenerator
55 // since extensions are just simple identifiers with interesting types. 56 // since extensions are just simple identifiers with interesting types.
56 class ExtensionGenerator { 57 class ExtensionGenerator {
57 public: 58 public:
58 // See generator.cc for the meaning of dllexport_decl. 59 // See generator.cc for the meaning of dllexport_decl.
59 explicit ExtensionGenerator(const FieldDescriptor* descriptor, 60 explicit ExtensionGenerator(const FieldDescriptor* desycriptor,
60 const string& dllexport_decl); 61 const Options& options);
61 ~ExtensionGenerator(); 62 ~ExtensionGenerator();
62 63
63 // Header stuff. 64 // Header stuff.
64 void GenerateDeclaration(io::Printer* printer); 65 void GenerateDeclaration(io::Printer* printer);
65 66
66 // Source file stuff. 67 // Source file stuff.
67 void GenerateDefinition(io::Printer* printer); 68 void GenerateDefinition(io::Printer* printer);
68 69
69 // Generate code to register the extension. 70 // Generate code to register the extension.
70 void GenerateRegistration(io::Printer* printer); 71 void GenerateRegistration(io::Printer* printer);
71 72
72 private: 73 private:
73 const FieldDescriptor* descriptor_; 74 const FieldDescriptor* descriptor_;
74 string type_traits_; 75 string type_traits_;
75 string dllexport_decl_; 76 Options options_;
76 77
77 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator); 78 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
78 }; 79 };
79 80
80 } // namespace cpp 81 } // namespace cpp
81 } // namespace compiler 82 } // namespace compiler
82 } // namespace protobuf 83 } // namespace protobuf
83 84
84 } // namespace google 85 } // namespace google
85 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_H__ 86 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698