summaryrefslogtreecommitdiff
path: root/cpp/src/slice2vb/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2vb/Gen.cpp')
-rwxr-xr-xcpp/src/slice2vb/Gen.cpp93
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;