diff --git a/build.xml b/build.xml index 2e43c55c18a..cb75d671a5b 100644 --- a/build.xml +++ b/build.xml @@ -438,7 +438,6 @@ - @@ -741,7 +740,8 @@ - + + @@ -863,7 +863,6 @@ - diff --git a/compiler/testData/cli/js/diagnosticForClassLiteral.out b/compiler/testData/cli/js/diagnosticForClassLiteral.out index b9b117af56e..12b8af2a949 100644 --- a/compiler/testData/cli/js/diagnosticForClassLiteral.out +++ b/compiler/testData/cli/js/diagnosticForClassLiteral.out @@ -1,3 +1,3 @@ WARNING: compiler/testData/cli/js/diagnosticForClassLiteral.kt: (6, 5) The expression is unused -ERROR: compiler/testData/cli/js/diagnosticForClassLiteral.kt: (6, 6) Reflection types can't be loaded. Please ensure that you have Kotlin Runtime in your classpath +ERROR: compiler/testData/cli/js/diagnosticForClassLiteral.kt: (6, 5) Cannot translate (not supported yet): 'A::class' COMPILATION_ERROR diff --git a/compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.out b/compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.out index 245ee8366d3..19928207a43 100644 --- a/compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.out +++ b/compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.out @@ -1,5 +1,5 @@ WARNING: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (4, 5) The expression is unused -ERROR: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (4, 8) Reflection types can't be loaded. Please ensure that you have Kotlin Runtime in your classpath WARNING: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (5, 5) The expression is unused -ERROR: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (5, 11) Reflection types can't be loaded. Please ensure that you have Kotlin Runtime in your classpath +ERROR: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (4, 5) Callable references for builtin members are not supported yet: 'Int::toByte' +ERROR: compiler/testData/cli/js/diagnosticWhenReferenceToBuiltinsMember.kt: (5, 5) Callable references for builtin members are not supported yet: 'String::length' COMPILATION_ERROR diff --git a/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.kt b/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.kt deleted file mode 100644 index d3d32bb1a27..00000000000 --- a/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.kt +++ /dev/null @@ -1,11 +0,0 @@ -fun foo() {} - -class A(val prop: Any) { - fun baz() {} -} - -val topLevelFun = ::foo -val memberFun = A::baz - -val classLiteral = A::class -val property = A::prop diff --git a/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.txt b/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.txt deleted file mode 100644 index a335638f39a..00000000000 --- a/compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.txt +++ /dev/null @@ -1,16 +0,0 @@ -package - -internal val classLiteral: [ERROR : Unresolved class] -internal val memberFun: [ERROR : Type for A::baz] -internal val property: [ERROR : Type for A::prop] -internal val topLevelFun: [ERROR : Type for ::foo] -internal fun foo(): kotlin.Unit - -internal final class A { - public constructor A(/*0*/ prop: kotlin.Any) - internal final val prop: kotlin.Any - internal final fun baz(): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/tests/deprecated/functionUsage.txt b/compiler/testData/diagnostics/tests/deprecated/functionUsage.txt index 82555499bd9..5eaf534c558 100644 --- a/compiler/testData/diagnostics/tests/deprecated/functionUsage.txt +++ b/compiler/testData/diagnostics/tests/deprecated/functionUsage.txt @@ -4,8 +4,8 @@ kotlin.deprecated(value = "message": kotlin.String) internal fun Obsolete(/*0*/ internal fun block(): kotlin.Unit internal fun expression(): UsefulClass internal fun invoker(): kotlin.Unit -internal fun reflection(): [ERROR : Error function type] -internal fun reflection2(): [ERROR : Error function type] +internal fun reflection(): kotlin.reflect.KFunction1 +internal fun reflection2(): kotlin.reflect.KMemberFunction0 kotlin.deprecated(value = "does nothing good": kotlin.String) internal fun kotlin.Any.doNothing(): kotlin.String internal final class Delegation { diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/dynamicTypes/callableReferences.kt b/compiler/testData/diagnostics/testsWithJsStdLib/dynamicTypes/callableReferences.kt index 3f76efaea35..094c25bb1fe 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/dynamicTypes/callableReferences.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/dynamicTypes/callableReferences.kt @@ -1,4 +1,4 @@ -// !DIAGNOSTICS: -REFLECTION_TYPES_NOT_LOADED -UNUSED_EXPRESSION +// !DIAGNOSTICS: -UNUSED_EXPRESSION fun test() { dynamic::foo @@ -6,4 +6,4 @@ fun test() { class dynamic { fun foo() {} -} \ No newline at end of file +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index 3ae8b527d2f..b0789f415e8 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -415,12 +415,6 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } - @TestMetadata("ReflectionTypesNotLoaded.kt") - public void testReflectionTypesNotLoaded() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/ReflectionTypesNotLoaded.kt"); - doTest(fileName); - } - @TestMetadata("ResolveOfJavaGenerics.kt") public void testResolveOfJavaGenerics() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/ResolveOfJavaGenerics.kt"); diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java index ec88eb0e18a..86c2868d3d8 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java @@ -38,6 +38,7 @@ import org.jetbrains.kotlin.types.checker.JetTypeChecker; import java.io.InputStream; import java.util.*; +import static kotlin.KotlinPackage.setOf; import static kotlin.KotlinPackage.single; import static org.jetbrains.kotlin.builtins.PrimitiveType.*; import static org.jetbrains.kotlin.resolve.DescriptorUtils.getFqName; @@ -113,7 +114,8 @@ public class KotlinBuiltIns { ); PackageFragmentProvider packageFragmentProvider = BuiltinsPackage.createBuiltInPackageFragmentProvider( - storageManager, builtInsModule, Collections.singleton(BUILT_INS_PACKAGE_FQ_NAME), + storageManager, builtInsModule, + setOf(BUILT_INS_PACKAGE_FQ_NAME, BuiltinsPackage.getKOTLIN_REFLECT_FQ_NAME()), FlexibleTypeCapabilitiesDeserializer.ThrowException.INSTANCE$, new Function1() { @Override public InputStream invoke(String path) { diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/ReflectionTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/ReflectionTypes.kt index 3fb31547a2d..0ed90f84229 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/ReflectionTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/ReflectionTypes.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.builtins -import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.annotations.Annotations @@ -29,7 +28,7 @@ import org.jetbrains.kotlin.types.* import java.util.ArrayList import kotlin.properties.Delegates -private val KOTLIN_REFLECT_FQ_NAME = FqName("kotlin.reflect") +val KOTLIN_REFLECT_FQ_NAME = FqName("kotlin.reflect") public class ReflectionTypes(private val module: ModuleDescriptor) { private val kotlinReflectScope: JetScope? by Delegates.lazy { diff --git a/libraries/tools/runtime/pom.xml b/libraries/tools/runtime/pom.xml index eebeebaefff..90537f85832 100644 --- a/libraries/tools/runtime/pom.xml +++ b/libraries/tools/runtime/pom.xml @@ -25,7 +25,6 @@ **/*.kotlin_* - kotlin/reflect/**/* kotlin/internal/**/*