Commit a6e39316 authored by Gaurav Vaish's avatar Gaurav Vaish

Added support for internal_access for C#

parent cef46e11
......@@ -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;
......
......@@ -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
......
......@@ -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() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment