summaryrefslogtreecommitdiff
path: root/cpp/src/slice2js/JsUtil.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-07-09 17:28:56 +0200
committerJose <jose@zeroc.com>2019-07-09 17:28:56 +0200
commit9bb1f40c2149edadcfc24892635b1f36d649cc6f (patch)
treeb7bf38fb444a3a4a1eef23bb998ec065953f5ff3 /cpp/src/slice2js/JsUtil.cpp
parentFix ice.xcodeproj path issue (diff)
parentRemove forward declarations limitation - Close #97 (diff)
downloadice-9bb1f40c2149edadcfc24892635b1f36d649cc6f.tar.bz2
ice-9bb1f40c2149edadcfc24892635b1f36d649cc6f.tar.xz
ice-9bb1f40c2149edadcfc24892635b1f36d649cc6f.zip
Merge remote-tracking branch 'origin/3.7' into swift
Diffstat (limited to 'cpp/src/slice2js/JsUtil.cpp')
-rw-r--r--cpp/src/slice2js/JsUtil.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/cpp/src/slice2js/JsUtil.cpp b/cpp/src/slice2js/JsUtil.cpp
index 07c2f9b5325..2229d81f6a9 100644
--- a/cpp/src/slice2js/JsUtil.cpp
+++ b/cpp/src/slice2js/JsUtil.cpp
@@ -500,17 +500,7 @@ Slice::JsGenerator::typeToString(const TypePtr& type,
{
ostringstream os;
ClassDefPtr def = proxy->_class()->definition();
- if(!def->isInterface() && def->allOperations().empty())
- {
- if(getModuleMetadata(toplevel) != "ice")
- {
- os << "iceNS0.";
- }
- os << getUnqualified(typeScriptBuiltinTable[Builtin::KindObjectProxy],
- toplevel->scope(),
- getModuleMetadata(toplevel));
- }
- else
+ if(!def || def->isAbstract())
{
string prefix;
if(typescript)
@@ -528,6 +518,16 @@ Slice::JsGenerator::typeToString(const TypePtr& type,
os << fixId(proxy->_class()->scoped() + "Prx");
}
}
+ else
+ {
+ if(getModuleMetadata(toplevel) != "ice")
+ {
+ os << "iceNS0.";
+ }
+ os << getUnqualified(typeScriptBuiltinTable[Builtin::KindObjectProxy],
+ toplevel->scope(),
+ getModuleMetadata(toplevel));
+ }
return os.str();
}
@@ -983,7 +983,7 @@ Slice::JsGenerator::getHelper(const TypePtr& type)
if(prx)
{
ClassDefPtr def = prx->_class()->definition();
- if(def->isInterface() || def->allOperations().size() > 0)
+ if(!def || def->isAbstract())
{
return typeToString(type);
}