summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-10-18 17:49:26 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-10-18 17:49:26 +0000
commit2484b02c83a511da810efdc8ebc0846bd9f0e672 (patch)
tree1cf9a1cc76dfe3e42b269805614d6417e6592e69
parentRemoved PerfTypes.ice (diff)
downloadice-2484b02c83a511da810efdc8ebc0846bd9f0e672.tar.bz2
ice-2484b02c83a511da810efdc8ebc0846bd9f0e672.tar.xz
ice-2484b02c83a511da810efdc8ebc0846bd9f0e672.zip
Bug 932
-rw-r--r--cpp/src/slice2cpp/Gen.cpp24
-rw-r--r--cpp/src/slice2cppe/Gen.cpp24
-rwxr-xr-xcpp/src/slice2cs/Gen.cpp93
-rw-r--r--cpp/src/slice2java/Gen.cpp72
-rw-r--r--cpp/src/slice2javae/Gen.cpp72
-rwxr-xr-xcpp/src/slice2vb/Gen.cpp93
6 files changed, 126 insertions, 252 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 997d58f3d27..d554a2e8307 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -20,6 +20,18 @@ using namespace std;
using namespace Slice;
using namespace IceUtil;
+static string
+getDeprecateSymbol(const ContainedPtr& p1, const ContainedPtr& p2)
+{
+ string deprecateMetadata, deprecateSymbol;
+ if(p1->findMetaData("deprecate", deprecateMetadata) ||
+ (p2 != 0 && p2->findMetaData("deprecate", deprecateMetadata)))
+ {
+ deprecateSymbol = "ICE_DEPRECATED_API ";
+ }
+ return deprecateSymbol;
+}
+
Slice::Gen::Gen(const string& name, const string& base, const string& headerExtension,
const string& sourceExtension, const vector<string>& extraHeaders, const string& include,
const vector<string>& includePaths, const string& dllExport, const string& dir,
@@ -1830,11 +1842,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
string thisPointer = fixKwd(scope.substr(0, scope.size() - 2)) + "*";
- string deprecateMetadata, deprecateSymbol;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateSymbol = "ICE_DEPRECATED_API ";
- }
+ string deprecateSymbol = getDeprecateSymbol(p, cl);
H << sp << nl << deprecateSymbol << retS << ' ' << fixKwd(name) << spar << paramsDecl << epar;
H << sb;
H << nl;
@@ -3393,11 +3401,7 @@ Slice::Gen::ObjectVisitor::visitOperation(const OperationPtr& p)
bool isConst = (p->mode() == Operation::Nonmutating) || p->hasMetaData("cpp:const");
bool amd = !cl->isLocal() && (cl->hasMetaData("amd") || p->hasMetaData("amd"));
- string deprecateMetadata, deprecateSymbol;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateSymbol = "ICE_DEPRECATED_API ";
- }
+ string deprecateSymbol = getDeprecateSymbol(p, cl);
H << sp;
if(!amd)
diff --git a/cpp/src/slice2cppe/Gen.cpp b/cpp/src/slice2cppe/Gen.cpp
index dd0018bce9b..703965d4f70 100644
--- a/cpp/src/slice2cppe/Gen.cpp
+++ b/cpp/src/slice2cppe/Gen.cpp
@@ -41,6 +41,18 @@ getIds(const ClassDefPtr& p, StringList& ids)
ids.unique();
}
+static string
+getDeprecateSymbol(const ContainedPtr& p1, const ContainedPtr& p2)
+{
+ string deprecateMetadata, deprecateSymbol;
+ if(p1->findMetaData("deprecate", deprecateMetadata) ||
+ (p2 != 0 && p2->findMetaData("deprecate", deprecateMetadata)))
+ {
+ deprecateSymbol = "ICE_DEPRECATED_API ";
+ }
+ return deprecateSymbol;
+}
+
Slice::Gen::Gen(const string& name, const string& base, const string& headerExtension,
const string& sourceExtension, const vector<string>& extraHeaders, const string& include,
const vector<string>& includePaths, const string& dllExport, const string& dir, bool imp,
@@ -1467,11 +1479,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
ContainerPtr container = p->container();
ClassDefPtr cl = ClassDefPtr::dynamicCast(container);
- string deprecateMetadata, deprecateSymbol;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateSymbol = "ICE_DEPRECATED_API ";
- }
+ string deprecateSymbol = getDeprecateSymbol(p, cl);
H << sp << nl << deprecateSymbol << retS << ' ' << fixKwd(name) << spar << paramsDecl << epar;
H << sb;
H << nl;
@@ -2253,11 +2261,7 @@ Slice::Gen::ObjectVisitor::visitOperation(const OperationPtr& p)
bool isConst = (p->mode() == Operation::Nonmutating) || p->hasMetaData("cpp:const");
- string deprecateMetadata, deprecateSymbol;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateSymbol = "ICE_DEPRECATED_API ";
- }
+ string deprecateSymbol = getDeprecateSymbol(p, cl);
H << sp;
H << nl << deprecateSymbol << "virtual " << retS << ' ' << fixKwd(name) << params << (isConst ? " const" : "")
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index 7680bb8aecf..42816143897 100755
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -69,6 +69,22 @@ sliceModeToIceMode(Operation::Mode opMode)
return mode;
}
+static void
+emitDeprecate(const ContainedPtr& p1, const ContainedPtr& p2, Output& out, const 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::CsVisitor::CsVisitor(Output& out) : _out(out)
{
}
@@ -1584,16 +1600,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
@@ -1965,16 +1972,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 << " : ";
@@ -2357,16 +2355,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))
@@ -2693,16 +2682,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
@@ -2956,16 +2936,7 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p)
EnumeratorList enumerators = p->getEnumerators();
_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;
@@ -3109,16 +3080,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);
@@ -3386,16 +3348,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);
string retS = typeToString(ret);
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 335e41439ee..6b6547423d2 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -62,6 +62,22 @@ sliceModeToIceMode(Operation::Mode opMode)
return mode;
}
+static string
+getDeprecateReason(const ContainedPtr& p1, const ContainedPtr& p2, const string& type)
+{
+ string deprecateMetadata, deprecateReason;
+ if(p1->findMetaData("deprecate", deprecateMetadata) ||
+ (p2 != 0 && p2->findMetaData("deprecate", deprecateMetadata)))
+ {
+ deprecateReason = "This " + type + " has been deprecated.";
+ if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
+ {
+ deprecateReason = deprecateMetadata.substr(10);
+ }
+ }
+ return deprecateReason;
+}
+
Slice::JavaVisitor::JavaVisitor(const string& dir) :
JavaGenerator(dir)
{
@@ -1180,15 +1196,7 @@ Slice::Gen::OpsVisitor::writeOperations(const ClassDefPtr& p, bool noCurrent)
ret = op->returnType();
}
- string deprecateMetadata, deprecateReason;
- if((*r)->findMetaData("deprecate", deprecateMetadata) || p->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateReason = "This operation has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
- }
+ string deprecateReason = getDeprecateReason(*r, p, "operation");
string retS = typeToString(ret, TypeModeReturn, package, op->getMetaData());
ExceptionList throws = op->throws();
@@ -1886,14 +1894,9 @@ Slice::Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -2228,14 +2231,9 @@ Slice::Gen::TypesVisitor::visitStructStart(const StructPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -2584,14 +2582,9 @@ Slice::Gen::TypesVisitor::visitDataMember(const DataMemberPtr& p)
out << sp;
- string deprecateMetadata, deprecateReason;
- if(p->findMetaData("deprecate", deprecateMetadata) || contained->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, contained, "member");
+ if(!deprecateReason.empty())
{
- deprecateReason = "This member has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -2752,14 +2745,9 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -3889,15 +3877,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
throws.sort();
throws.unique();
- string deprecateMetadata, deprecateReason;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateReason = "This operation has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
- }
+ string deprecateReason = getDeprecateReason(p, cl, "operation");
//
// Write two versions of the operation - with and without a
diff --git a/cpp/src/slice2javae/Gen.cpp b/cpp/src/slice2javae/Gen.cpp
index 165d1cc8750..f372a95c20e 100644
--- a/cpp/src/slice2javae/Gen.cpp
+++ b/cpp/src/slice2javae/Gen.cpp
@@ -61,6 +61,22 @@ sliceModeToIceMode(Operation::Mode opMode)
return mode;
}
+static string
+getDeprecateReason(const ContainedPtr& p1, const ContainedPtr& p2, const string& type)
+{
+ string deprecateMetadata, deprecateReason;
+ if(p1->findMetaData("deprecate", deprecateMetadata) ||
+ (p2 != 0 && p2->findMetaData("deprecate", deprecateMetadata)))
+ {
+ deprecateReason = "This " + type + " has been deprecated.";
+ if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
+ {
+ deprecateReason = deprecateMetadata.substr(10);
+ }
+ }
+ return deprecateReason;
+}
+
void
Slice::JavaEOutput::printHeader()
{
@@ -829,15 +845,7 @@ Slice::Gen::OpsVisitor::writeOperations(const ClassDefPtr& p, bool noCurrent)
params = getParams(op, package);
ret = op->returnType();
- string deprecateMetadata, deprecateReason;
- if(op->findMetaData("deprecate", deprecateMetadata) || p->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateReason = "This operation has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
- }
+ string deprecateReason = getDeprecateReason(op, p, "operation");
string retS = typeToString(ret, TypeModeReturn, package, op->getMetaData());
@@ -1304,14 +1312,9 @@ Slice::Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -1535,14 +1538,9 @@ Slice::Gen::TypesVisitor::visitStructStart(const StructPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -1811,14 +1809,9 @@ Slice::Gen::TypesVisitor::visitDataMember(const DataMemberPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata) || contained->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, contained, "member");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This member has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -1844,14 +1837,9 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p)
out << sp;
- string deprecateMetadata;
- if(p->findMetaData("deprecate", deprecateMetadata))
+ string deprecateReason = getDeprecateReason(p, 0, "type");
+ if(!deprecateReason.empty())
{
- string deprecateReason = "This type has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
out << nl << "/**";
out << nl << " * @deprecated " << deprecateReason;
out << nl << " **/";
@@ -2862,15 +2850,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
throws.sort();
throws.unique();
- string deprecateMetadata, deprecateReason;
- if(p->findMetaData("deprecate", deprecateMetadata) || cl->findMetaData("deprecate", deprecateMetadata))
- {
- deprecateReason = "This operation has been deprecated.";
- if(deprecateMetadata.find("deprecate:") == 0 && deprecateMetadata.size() > 10)
- {
- deprecateReason = deprecateMetadata.substr(10);
- }
- }
+ string deprecateReason = getDeprecateReason(p, cl, "type");
//
// Write two versions of the operation - with and without a
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;