diff --git a/translator/src/org/jetbrains/k2js/K2JSTranslator.java b/translator/src/org/jetbrains/k2js/K2JSTranslator.java index fb69cd97e85..83831c159cf 100644 --- a/translator/src/org/jetbrains/k2js/K2JSTranslator.java +++ b/translator/src/org/jetbrains/k2js/K2JSTranslator.java @@ -38,13 +38,17 @@ import static org.jetbrains.k2js.utils.JetTestUtils.analyzeNamespace; public final class K2JSTranslator { @NotNull - private final JetCoreEnvironment environment = new JetCoreEnvironment(new Disposable() { + private JetCoreEnvironment environment = new JetCoreEnvironment(new Disposable() { @Override public void dispose() { } }); + public void setEnvironment(JetCoreEnvironment env) { + environment = env; + } + @Nullable private BindingContext bindingContext = null; diff --git a/translator/src/org/jetbrains/k2js/K2JSTranslatorApplet.java b/translator/src/org/jetbrains/k2js/K2JSTranslatorApplet.java index cdefad02ffb..77b030175fb 100644 --- a/translator/src/org/jetbrains/k2js/K2JSTranslatorApplet.java +++ b/translator/src/org/jetbrains/k2js/K2JSTranslatorApplet.java @@ -24,13 +24,13 @@ public final class K2JSTranslatorApplet extends Applet { return generateJSCode(code, arguments); } catch (AssertionError e) { reportException(e); - return EXCEPTION + " Translation error."; + return EXCEPTION + "Translation error."; } catch (UnsupportedOperationException e) { reportException(e); - return EXCEPTION + " Unsupported feature."; + return EXCEPTION + "Unsupported feature."; } catch (Throwable e) { reportException(e); - return EXCEPTION + " Unexpected exception."; + return EXCEPTION + "Unexpected exception."; } } diff --git a/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java b/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java index 133488ae7d7..1dc0e7b9bc0 100644 --- a/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java +++ b/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java @@ -83,7 +83,11 @@ public final class DescriptorUtils { @NotNull public static PropertyDescriptor getPropertyByName(@NotNull JetScope scope, @NotNull String name) { - PropertyDescriptor descriptor = (PropertyDescriptor) scope.getVariable(name); + VariableDescriptor variable = scope.getLocalVariable(name); + if (variable == null) { + variable = org.jetbrains.jet.lang.resolve.DescriptorUtils.filterNonExtensionProperty(scope.getProperties(name)); + } + PropertyDescriptor descriptor = (PropertyDescriptor) variable; assert descriptor != null : "Must have a descriptor."; return descriptor; }