summaryrefslogtreecommitdiff
path: root/cpp/src/slice2javae/Gen.cpp
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 /cpp/src/slice2javae/Gen.cpp
parentRemoved PerfTypes.ice (diff)
downloadice-2484b02c83a511da810efdc8ebc0846bd9f0e672.tar.bz2
ice-2484b02c83a511da810efdc8ebc0846bd9f0e672.tar.xz
ice-2484b02c83a511da810efdc8ebc0846bd9f0e672.zip
Bug 932
Diffstat (limited to 'cpp/src/slice2javae/Gen.cpp')
-rw-r--r--cpp/src/slice2javae/Gen.cpp72
1 files changed, 26 insertions, 46 deletions
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