From 08e92ac74672a2bb5fc2f8148d87e1b5a94165ab Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Fri, 10 Apr 2015 18:29:36 +0300 Subject: [PATCH] KT-7357 JS: extension functions from external KJS library couldn't be called in some cases #KT-7357 Fixed #KT-7382 Fixed --- .../src/org/jetbrains/kotlin/js/config/Config.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java b/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java index 2d453c8c805..6af16e1c4dd 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java @@ -120,6 +120,10 @@ public abstract class Config { for(KotlinJavascriptMetadata metadataEntry : metadata) { moduleDescriptors.add(createModuleDescriptor(metadataEntry)); } + for(ModuleDescriptorImpl module : moduleDescriptors) { + setDependencies(module, moduleDescriptors); + module.seal(); + } return moduleDescriptors; } @@ -150,13 +154,17 @@ public abstract class Config { CompositePackageFragmentProvider compositePackageFragmentProvider = new CompositePackageFragmentProvider(providers); moduleDescriptor.initialize(compositePackageFragmentProvider); - moduleDescriptor.addDependencyOnModule(moduleDescriptor); moduleDescriptor.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule()); - moduleDescriptor.seal(); return moduleDescriptor; } + private static void setDependencies(ModuleDescriptorImpl module, List modules) { + for(ModuleDescriptorImpl moduleItem : modules) { + module.addDependencyOnModule(moduleItem); + } + } + @NotNull public static Collection withJsLibAdded(@NotNull Collection files, @NotNull Config config) { Collection allFiles = Lists.newArrayList();