diff --git a/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java b/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java index 5b5f5c907d6..b573d364880 100644 --- a/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java +++ b/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java @@ -204,7 +204,9 @@ public final class TranslationUtils { return TranslationUtils.getThisQualifier(context); } if (BindingUtils.isOwnedByNamespace(referencedDescriptor)) { - return context.getQualifierForDescriptor(referencedDescriptor); + if (context.hasQualifierForDescriptor(referencedDescriptor)) { + return context.getQualifierForDescriptor(referencedDescriptor); + } } return null; } diff --git a/translator/test/org/jetbrains/k2js/test/ArrayListTest.java b/translator/test/org/jetbrains/k2js/test/ArrayListTest.java index 11de105e70d..af3feb104a6 100644 --- a/translator/test/org/jetbrains/k2js/test/ArrayListTest.java +++ b/translator/test/org/jetbrains/k2js/test/ArrayListTest.java @@ -18,4 +18,9 @@ public final class ArrayListTest extends JavaClassesTest { public void emptyList() throws Exception { testFooBoxIsTrue("emptyList.kt"); } + + @Test + public void access() throws Exception { + testFooBoxIsTrue("access.kt"); + } } diff --git a/translator/testFiles/java/arrayList/cases/access.kt b/translator/testFiles/java/arrayList/cases/access.kt new file mode 100644 index 00000000000..75d36d287ff --- /dev/null +++ b/translator/testFiles/java/arrayList/cases/access.kt @@ -0,0 +1,10 @@ +namespace foo + +import java.util.ArrayList; + +fun box() : Boolean { + val a = ArrayList(); + a.add(1) + a.add(2) + return (a.size == 2) && (a.get(1) == 2) && (a.get(0) == 1); +} \ No newline at end of file