From a232d2b1998c717e086b334d94ab70cae0023d5a Mon Sep 17 00:00:00 2001 From: Jose Date: Wed, 5 Dec 2018 23:32:56 +0100 Subject: TypeScript improvements --- cpp/src/slice2js/JsUtil.cpp | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) (limited to 'cpp/src/slice2js/JsUtil.cpp') diff --git a/cpp/src/slice2js/JsUtil.cpp b/cpp/src/slice2js/JsUtil.cpp index 002919087f0..b368e7f05e6 100644 --- a/cpp/src/slice2js/JsUtil.cpp +++ b/cpp/src/slice2js/JsUtil.cpp @@ -200,32 +200,16 @@ Slice::JsGenerator::getModuleMetadata(const TypePtr& type) } string -Slice::JsGenerator::getModuleMetadata(const ContainedPtr& cont) +Slice::JsGenerator::getModuleMetadata(const ContainedPtr& p) { // - // Traverse to the top-level module. + // Check if the file contains the python:pkgdir global metadata. // - ModulePtr m; - ContainedPtr p = cont; - while (true) - { - if(ModulePtr::dynamicCast(p)) - { - m = ModulePtr::dynamicCast(p); - } - - ContainerPtr c = p->container(); - p = ContainedPtr::dynamicCast(c); // This cast fails for Unit. - if(!p) - { - break; - } - } - + DefinitionContextPtr dc = p->definitionContext(); + assert(dc); const string prefix = "js:module:"; - string value; - findMetaData(prefix, m->getMetaData(), value); - return value; + const string value = dc->findMetaData(prefix); + return value.empty() ? value : value.substr(prefix.size()); } bool -- cgit v1.2.3