diff options
author | Gaurav Vaish <gaurav.vaish@gmail.com> | 2016-04-07 10:10:59 -0700 |
---|---|---|
committer | Gaurav Vaish <gaurav.vaish@gmail.com> | 2016-04-07 10:33:21 -0700 |
commit | a6e39316a7ab891d86aad2a902a1d9d7b23fd95d (patch) | |
tree | c2244b7dba757cd57d05a17016e156f5779cceba /src | |
parent | cef46e115a3e1d23800eab70c0f704aba8bbfd96 (diff) | |
download | protobuf-a6e39316a7ab891d86aad2a902a1d9d7b23fd95d.tar.gz protobuf-a6e39316a7ab891d86aad2a902a1d9d7b23fd95d.tar.bz2 protobuf-a6e39316a7ab891d86aad2a902a1d9d7b23fd95d.zip |
Added support for internal_access for C#
Diffstat (limited to 'src')
3 files changed, 6 insertions, 1 deletions
diff --git a/src/google/protobuf/compiler/csharp/csharp_generator.cc b/src/google/protobuf/compiler/csharp/csharp_generator.cc index df9730f8..c13ed65b 100644 --- a/src/google/protobuf/compiler/csharp/csharp_generator.cc +++ b/src/google/protobuf/compiler/csharp/csharp_generator.cc @@ -81,6 +81,8 @@ bool Generator::Generate( } else if (options[i].first == "base_namespace") { cli_options.base_namespace = options[i].second; cli_options.base_namespace_specified = true; + } else if (options[i].first == "internal_access") { + cli_options.internal_access = true; } else { *error = "Unknown generator option: " + options[i].first; return false; diff --git a/src/google/protobuf/compiler/csharp/csharp_options.h b/src/google/protobuf/compiler/csharp/csharp_options.h index 9e5573ca..f25812c8 100644 --- a/src/google/protobuf/compiler/csharp/csharp_options.h +++ b/src/google/protobuf/compiler/csharp/csharp_options.h @@ -64,6 +64,9 @@ struct Options { // string, meaning "create a full directory hierarchy, starting from the first // segment of the namespace." bool base_namespace_specified; + // Whether the generated classes should have accessibility level of "internal". + // Defaults to false that generates "public" classes. + bool internal_access; }; } // namespace csharp diff --git a/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc b/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc index bd459dda..16411e49 100644 --- a/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc +++ b/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc @@ -60,7 +60,7 @@ void SourceGeneratorBase::WriteGeneratedCodeAttributes(io::Printer* printer) { } std::string SourceGeneratorBase::class_access_level() { - return IsDescriptorProto(descriptor_) ? "internal" : "public"; // public_classes is always on. + return (IsDescriptorProto(descriptor_) || this->options()->internal_access) ? "internal" : "public"; } const Options* SourceGeneratorBase::options() { |