summaryrefslogtreecommitdiff
path: root/cpp/src/slice2js/JsUtil.cpp
diff options
context:
space:
mode:
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);
}