diff --git a/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java b/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java index 64b50d48345..d6decdab024 100644 --- a/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java +++ b/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java @@ -354,4 +354,4 @@ public final class ExpressionVisitor extends TranslatorVisitor { } return result; } -} \ No newline at end of file +} diff --git a/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java b/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java index 1dc0e7b9bc0..78e1894777a 100644 --- a/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java +++ b/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java @@ -85,7 +85,7 @@ public final class DescriptorUtils { @NotNull String name) { VariableDescriptor variable = scope.getLocalVariable(name); if (variable == null) { - variable = org.jetbrains.jet.lang.resolve.DescriptorUtils.filterNonExtensionProperty(scope.getProperties(name)); + variable = scope.getPropertyByFieldReference("$" + name); } PropertyDescriptor descriptor = (PropertyDescriptor) variable; assert descriptor != null : "Must have a descriptor."; @@ -126,8 +126,9 @@ public final class DescriptorUtils { return (functionDescriptor.getReceiverParameter().exists()); } + //TODO: make "anonymous" a constant @NotNull - public static String nameForNamespace(@NotNull NamespaceDescriptor descriptor) { + public static String getNameForNamespace(@NotNull NamespaceDescriptor descriptor) { String name = descriptor.getName(); if (name.equals("")) { return "Anonymous"; diff --git a/translator/test/org/jetbrains/k2js/test/FunctionTest.java b/translator/test/org/jetbrains/k2js/test/FunctionTest.java index a8d7ef85769..1e8f38b120d 100644 --- a/translator/test/org/jetbrains/k2js/test/FunctionTest.java +++ b/translator/test/org/jetbrains/k2js/test/FunctionTest.java @@ -93,5 +93,29 @@ public class FunctionTest extends AbstractExpressionTest { } } + @Test + public void implicitItParameter() throws Exception { + testFooBoxIsTrue("implicitItParameter.kt"); + } + + @Test + public void defaultParameters() throws Exception { + testFooBoxIsTrue("defaultParameters.kt"); + } + + @Test + public void functionLiteralAsLastParameter() throws Exception { + testFooBoxIsTrue("functionLiteralAsLastParameter.kt"); + } + + @Test + public void kt921() throws Exception { + try { + checkOutput("KT-921.kt", ""); + } catch (Throwable e) { + System.out.println(e); + } + } + } diff --git a/translator/testFiles/kotlin_lib.js b/translator/testFiles/kotlin_lib.js index 51e532642b0..2eff88d9e44 100644 --- a/translator/testFiles/kotlin_lib.js +++ b/translator/testFiles/kotlin_lib.js @@ -1028,4 +1028,4 @@ Kotlin.StringBuilder = Kotlin.Class.create( } } ) -}()); \ No newline at end of file +}());