From d4e3a4f74d3c1a7d1af043d8ff11a6fe2d8b5a9b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 28 Dec 2012 18:26:54 +0400 Subject: [PATCH] Tests added for checking two-phase (classes and functions) import resolution --- .../importFunctionWithAllUnderImport.kt | 13 +++++++++++++ .../importFunctionWithAllUnderImport.txt | 7 +++++++ .../propertyClassFileDependencyRecursion.kt | 17 +++++++++++++++++ .../propertyClassFileDependencyRecursion.txt | 7 +++++++ ...yResolveNamespaceComparingTestGenerated.java | 10 ++++++++++ 5 files changed, 54 insertions(+) create mode 100644 compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.kt create mode 100644 compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.txt create mode 100644 compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt create mode 100644 compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.txt diff --git a/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.kt b/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.kt new file mode 100644 index 00000000000..a584743dff1 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.kt @@ -0,0 +1,13 @@ +// FILE: importFunctionWithAllUnderImport.kt +package test + +import testOther.* + +class B: A() +val inferTypeFromImportedFun = testFun() + +// FILE: importFunctionWithAllUnderImportOther.kt +package testOther + +open class A +fun testFun() = 1 \ No newline at end of file diff --git a/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.txt b/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.txt new file mode 100644 index 00000000000..2663b8de892 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.txt @@ -0,0 +1,7 @@ +package test + +internal val inferTypeFromImportedFun : jet.Int + +internal final class B : testOther.A { + /*primary*/ public constructor B() +} diff --git a/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt b/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt new file mode 100644 index 00000000000..92a05929628 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt @@ -0,0 +1,17 @@ +// FILE: propertyClassFileDependencyRecursion.kt +package test + +import other.prop + +// Note: "prop" is expected to be unresolved and replaced to Any +class PropType: prop + +// Note: this time "prop" should be resolved and type should be inferred for "checkTypeProp" +val checkTypeProp = prop + +// FILE: propertyClassFileDependencyRecursionOther.kt +package other + +import test.PropType + +val prop: PropType? = null diff --git a/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.txt b/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.txt new file mode 100644 index 00000000000..165e96fddf4 --- /dev/null +++ b/compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.txt @@ -0,0 +1,7 @@ +package test + +internal val checkTypeProp : test.PropType? + +internal final class PropType { + /*primary*/ public constructor PropType() +} diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java index c62f7876825..d828335ef85 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveNamespaceComparingTestGenerated.java @@ -1952,6 +1952,11 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/genericFunction.kt"); } + @TestMetadata("importFunctionWithAllUnderImport.kt") + public void testImportFunctionWithAllUnderImport() throws Exception { + doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImport.kt"); + } + @TestMetadata("importFunctionWithAllUnderImportAfterNamedImport.kt") public void testImportFunctionWithAllUnderImportAfterNamedImport() throws Exception { doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/importFunctionWithAllUnderImportAfterNamedImport.kt"); @@ -1982,6 +1987,11 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/packageLevelObject.kt"); } + @TestMetadata("propertyClassFileDependencyRecursion.kt") + public void testPropertyClassFileDependencyRecursion() throws Exception { + doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/propertyClassFileDependencyRecursion.kt"); + } + @TestMetadata("simpleClass.kt") public void testSimpleClass() throws Exception { doTestCheckingPrimaryConstructors("compiler/testData/lazyResolve/namespaceComparator/simpleClass.kt");