summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cppe/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cppe/Gen.cpp')
-rw-r--r--cpp/src/slice2cppe/Gen.cpp24
1 files changed, 14 insertions, 10 deletions
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" : "")