diff options
Diffstat (limited to 'cpp/src/slice2javae/Gen.cpp')
-rw-r--r-- | cpp/src/slice2javae/Gen.cpp | 72 |
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 |