diff options
Diffstat (limited to 'cpp/src/slice2vb/Gen.cpp')
-rwxr-xr-x | cpp/src/slice2vb/Gen.cpp | 93 |
1 files changed, 23 insertions, 70 deletions
diff --git a/cpp/src/slice2vb/Gen.cpp b/cpp/src/slice2vb/Gen.cpp index 59b868efe27..baaa16705b0 100755 --- a/cpp/src/slice2vb/Gen.cpp +++ b/cpp/src/slice2vb/Gen.cpp @@ -67,6 +67,22 @@ sliceModeToIceMode(Operation::Mode opMode) return mode; } +static void +emitDeprecate(const ContainedPtr& p1, const ContainedPtr& p2, Output& out, string type) +{ + string deprecateMetadata; + if(p1->findMetaData("deprecate", deprecateMetadata) || + (p2 != 0 && p2->findMetaData("deprecate", deprecateMetadata))) + { + string deprecateReason = "This " + type + " has been deprecated."; + if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) + { + deprecateReason = deprecateMetadata.substr(10); + } + out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; + } +} + Slice::VbVisitor::VbVisitor(Output& out) : _out(out) { } @@ -1613,16 +1629,7 @@ Slice::Gen::TypesVisitor::visitSequence(const SequencePtr& p) _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This type has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, 0, _out, "type"); emitAttributes(p); _out << nl << "Public Class " << name; @@ -2083,16 +2090,7 @@ Slice::Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p) _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This type has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, 0, _out, "type"); emitAttributes(p); _out << nl << "Public Class " << name; @@ -2510,16 +2508,7 @@ Slice::Gen::TypesVisitor::visitStructStart(const StructPtr& p) _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This type has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, 0, _out, "type"); emitAttributes(p); if(isValueType(p)) @@ -2880,16 +2869,7 @@ Slice::Gen::TypesVisitor::visitDictionary(const DictionaryPtr& p) _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This type has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, 0, _out, "type"); emitAttributes(p); _out << nl << "Public Class " << name; @@ -3183,16 +3163,7 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p) string scoped = fixId(p->scoped()); _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This type has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, 0, _out, "type"); emitAttributes(p); _out << nl << "Public Enum " << name; @@ -3384,16 +3355,7 @@ Slice::Gen::TypesVisitor::visitDataMember(const DataMemberPtr& p) } _out << sp; - string deprecateMetadata; - if(p->findMetaData("deprecate", deprecateMetadata) || cont->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This member has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(p, cont, _out, "member"); emitAttributes(p); @@ -3710,16 +3672,7 @@ Slice::Gen::OpsVisitor::writeOperations(const ClassDefPtr& p, bool noCurrent) _out << sp; - string deprecateMetadata; - if(op->findMetaData("deprecate", deprecateMetadata) || p->findMetaData("deprecate", deprecateMetadata)) - { - string deprecateReason = "This operation has been deprecated."; - if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10) - { - deprecateReason = deprecateMetadata.substr(10); - } - _out << nl << "<System.Obsolete(\"" << deprecateReason << "\")>"; - } + emitDeprecate(op, p, _out, "operation"); emitAttributes(op); _out << nl << vbOp << ' ' << opname << spar << params; |