| Index: third_party/protobuf/src/google/protobuf/compiler/code_generator.h
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/code_generator.h b/third_party/protobuf/src/google/protobuf/compiler/code_generator.h
|
| index ea094cdd6092664a743fbf5fc129554029ec4239..252f68d1dc269898a64118fc8dd6015176b98cb0 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/code_generator.h
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/code_generator.h
|
| @@ -53,7 +53,7 @@ namespace compiler {
|
|
|
| // Defined in this file.
|
| class CodeGenerator;
|
| -class OutputDirectory;
|
| +class GeneratorContext;
|
|
|
| // The abstract interface to a class which generates code implementing a
|
| // particular proto file in a particular language. A number of these may
|
| @@ -76,7 +76,7 @@ class LIBPROTOC_EXPORT CodeGenerator {
|
| // the problem (e.g. "invalid parameter") and returns false.
|
| virtual bool Generate(const FileDescriptor* file,
|
| const string& parameter,
|
| - OutputDirectory* output_directory,
|
| + GeneratorContext* generator_context,
|
| string* error) const = 0;
|
|
|
| private:
|
| @@ -85,11 +85,12 @@ class LIBPROTOC_EXPORT CodeGenerator {
|
|
|
| // CodeGenerators generate one or more files in a given directory. This
|
| // abstract interface represents the directory to which the CodeGenerator is
|
| -// to write.
|
| -class LIBPROTOC_EXPORT OutputDirectory {
|
| +// to write and other information about the context in which the Generator
|
| +// runs.
|
| +class LIBPROTOC_EXPORT GeneratorContext {
|
| public:
|
| - inline OutputDirectory() {}
|
| - virtual ~OutputDirectory();
|
| + inline GeneratorContext() {}
|
| + virtual ~GeneratorContext();
|
|
|
| // Opens the given file, truncating it if it exists, and returns a
|
| // ZeroCopyOutputStream that writes to the file. The caller takes ownership
|
| @@ -112,10 +113,19 @@ class LIBPROTOC_EXPORT OutputDirectory {
|
| virtual io::ZeroCopyOutputStream* OpenForInsert(
|
| const string& filename, const string& insertion_point);
|
|
|
| + // Returns a vector of FileDescriptors for all the files being compiled
|
| + // in this run. Useful for languages, such as Go, that treat files
|
| + // differently when compiled as a set rather than individually.
|
| + virtual void ListParsedFiles(vector<const FileDescriptor*>* output);
|
| +
|
| private:
|
| - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(OutputDirectory);
|
| + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(GeneratorContext);
|
| };
|
|
|
| +// The type GeneratorContext was once called OutputDirectory. This typedef
|
| +// provides backward compatibility.
|
| +typedef GeneratorContext OutputDirectory;
|
| +
|
| // Several code generators treat the parameter argument as holding a
|
| // list of options separated by commas. This helper function parses
|
| // a set of comma-delimited name/value pairs: e.g.,
|
|
|