|
@@ -98,12 +98,20 @@ const std::vector<const FieldDescriptor*>& MessageGenerator::fields_by_number()
|
|
return fields_by_number_;
|
|
return fields_by_number_;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void MessageGenerator::AddDeprecatedFlag(io::Printer* printer) {
|
|
|
|
+ if (descriptor_->options().deprecated()) {
|
|
|
|
+ printer->Print("[global::System.ObsoleteAttribute]\n");
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
void MessageGenerator::Generate(io::Printer* printer) {
|
|
void MessageGenerator::Generate(io::Printer* printer) {
|
|
map<string, string> vars;
|
|
map<string, string> vars;
|
|
vars["class_name"] = class_name();
|
|
vars["class_name"] = class_name();
|
|
vars["access_level"] = class_access_level();
|
|
vars["access_level"] = class_access_level();
|
|
|
|
|
|
WriteMessageDocComment(printer, descriptor_);
|
|
WriteMessageDocComment(printer, descriptor_);
|
|
|
|
+ AddDeprecatedFlag(printer);
|
|
|
|
+
|
|
printer->Print(
|
|
printer->Print(
|
|
vars,
|
|
vars,
|
|
"$access_level$ sealed partial class $class_name$ : pb::IMessage<$class_name$> {\n");
|
|
"$access_level$ sealed partial class $class_name$ : pb::IMessage<$class_name$> {\n");
|
|
@@ -115,6 +123,7 @@ void MessageGenerator::Generate(io::Printer* printer) {
|
|
"private static readonly pb::MessageParser<$class_name$> _parser = new pb::MessageParser<$class_name$>(() => new $class_name$());\n");
|
|
"private static readonly pb::MessageParser<$class_name$> _parser = new pb::MessageParser<$class_name$>(() => new $class_name$());\n");
|
|
|
|
|
|
WriteGeneratedCodeAttributes(printer);
|
|
WriteGeneratedCodeAttributes(printer);
|
|
|
|
+
|
|
printer->Print(
|
|
printer->Print(
|
|
vars,
|
|
vars,
|
|
"public static pb::MessageParser<$class_name$> Parser { get { return _parser; } }\n\n");
|
|
"public static pb::MessageParser<$class_name$> Parser { get { return _parser; } }\n\n");
|