diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java index dc5bbf755a2..1e568b6a993 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java @@ -187,7 +187,6 @@ public class JavaTypeTransformer { PrimitiveType primitiveType = jvmPrimitiveType.getPrimitiveType(); classDescriptorMap.put(jvmPrimitiveType.getWrapper().getFqName(), standardLibrary.getPrimitiveClassDescriptor(primitiveType)); } - //classDescriptorMap.put("java.lang.Object", standardLibrary.get classDescriptorMap.put("java.lang.String", standardLibrary.getString()); } return classDescriptorMap; diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java index 3e1d1918651..d45e3db6c8f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JetTypeJetSignatureReader.java @@ -74,6 +74,10 @@ public abstract class JetTypeJetSignatureReader extends JetSignatureExceptionsAd String ourName = name.replace('/', '.'); this.classDescriptor = this.javaSemanticServices.getTypeTransformer().getPrimitiveWrappersClassDescriptorMap().get(ourName); + + if (this.classDescriptor == null && ourName.equals("java.lang.Object")) { + this.classDescriptor = JetStandardClasses.getAny(); + } if (this.classDescriptor == null) { this.classDescriptor = javaDescriptorResolver.resolveClass(ourName); diff --git a/compiler/testData/readKotlinBinaryClass/type/Any.kt b/compiler/testData/readKotlinBinaryClass/type/Any.kt new file mode 100644 index 00000000000..9f1e3eaa6ca --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/type/Any.kt @@ -0,0 +1,3 @@ +package test + +fun any(): Any = 1 diff --git a/compiler/testData/readKotlinBinaryClass/type/AnyQ.kt b/compiler/testData/readKotlinBinaryClass/type/AnyQ.kt new file mode 100644 index 00000000000..a59092e1372 --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/type/AnyQ.kt @@ -0,0 +1,3 @@ +package test + +fun anyq(): Any? = 1 diff --git a/compiler/testData/readKotlinBinaryClass/type/ListOfAny.kt b/compiler/testData/readKotlinBinaryClass/type/ListOfAny.kt new file mode 100644 index 00000000000..74df70f27c7 --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/type/ListOfAny.kt @@ -0,0 +1,5 @@ +package test + +import java.util.List + +fun listOfAny(): List = throw Exception() diff --git a/compiler/testData/readKotlinBinaryClass/type/ListOfAnyQ.kt b/compiler/testData/readKotlinBinaryClass/type/ListOfAnyQ.kt new file mode 100644 index 00000000000..618cb4023d6 --- /dev/null +++ b/compiler/testData/readKotlinBinaryClass/type/ListOfAnyQ.kt @@ -0,0 +1,5 @@ +package test + +import java.util.List + +fun listOfAnyQ(): List = throw Exception()