diff --git a/compiler/testData/diagnostics/tests/annotations/DanglingInScript.txt b/compiler/testData/diagnostics/tests/annotations/DanglingInScript.txt index 8082df6aacf..caa2674a3e8 100644 --- a/compiler/testData/diagnostics/tests/annotations/DanglingInScript.txt +++ b/compiler/testData/diagnostics/tests/annotations/DanglingInScript.txt @@ -2,8 +2,14 @@ package public final class Script { public constructor Script() - public final val rv: [ERROR : getBlockReturnedType returned null] 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 + + public final annotation class Ann : kotlin.Annotation { + public constructor Ann() + 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/redeclarations/ScriptAndClassConflict.kt b/compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.kt new file mode 100644 index 00000000000..baaf284b31c --- /dev/null +++ b/compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.kt @@ -0,0 +1,12 @@ +// FILE: f1.kt +package test + +class A +class F1 + +// FILE: A.kts +package test + +val x = 1 + +class F1 \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.txt b/compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.txt new file mode 100644 index 00000000000..cf0832616a7 --- /dev/null +++ b/compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.txt @@ -0,0 +1,33 @@ +package + +package test { + + public final class A { + public constructor A() + 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 + } + + public final class A { + public constructor A() + public final val x: kotlin.Int = 1 + 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 + + public final class F1 { + public constructor F1() + 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 + } + } + + public final class F1 { + public constructor F1() + 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/script/AccessForwardDeclarationInScript.kts b/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.kts index c0924df3df3..62532476e15 100644 --- a/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.kts +++ b/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.kts @@ -1,3 +1,3 @@ -val x = y +val x = y val y = 2 diff --git a/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.txt b/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.txt index 353b2747d09..51754b8d7d8 100644 --- a/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.txt +++ b/compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.txt @@ -2,7 +2,8 @@ package public final class AccessForwardDeclarationInScript { public constructor AccessForwardDeclarationInScript() - public final val rv: kotlin.Unit + public final val x: kotlin.Int = 2 + public final val y: kotlin.Int = 2 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/script/ComplexScript.kts b/compiler/testData/diagnostics/tests/script/ComplexScript.kts index 19f6be0e2ab..e72eb620293 100644 --- a/compiler/testData/diagnostics/tests/script/ComplexScript.kts +++ b/compiler/testData/diagnostics/tests/script/ComplexScript.kts @@ -1,4 +1,4 @@ -fun foo(x: Int) = 1 +fun foo(x: Int) = 1 val y = 2 diff --git a/compiler/testData/diagnostics/tests/script/ComplexScript.txt b/compiler/testData/diagnostics/tests/script/ComplexScript.txt index cdd4ccfa2c5..99142f3b05f 100644 --- a/compiler/testData/diagnostics/tests/script/ComplexScript.txt +++ b/compiler/testData/diagnostics/tests/script/ComplexScript.txt @@ -2,8 +2,9 @@ package public final class ComplexScript { public constructor ComplexScript() - public final val rv: kotlin.Int + public final val y: kotlin.Int = 2 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun foo(/*0*/ x: kotlin.Int): kotlin.Int 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/script/NestedInnerClass.kts b/compiler/testData/diagnostics/tests/script/NestedInnerClass.kts new file mode 100644 index 00000000000..4628d4c9fb6 --- /dev/null +++ b/compiler/testData/diagnostics/tests/script/NestedInnerClass.kts @@ -0,0 +1,24 @@ +// documents inconsistency between scripts and classes, see DeclarationScopeProviderImpl + +fun function() = 42 +val property = "" + +class Nested { + fun f() = function() + fun g() = property +} + + +inner class Inner { + fun innerFun() = function() + val innerProp = property + fun innerThisFun() = this@NestedInnerClass.function() + val innerThisProp = this@NestedInnerClass.property + + inner class InnerInner { + fun f() = innerFun() + fun g() = innerProp + fun h() = this@Inner.innerFun() + fun i() = this@Inner.innerProp + } +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/script/NestedInnerClass.txt b/compiler/testData/diagnostics/tests/script/NestedInnerClass.txt new file mode 100644 index 00000000000..c70a0ca4f62 --- /dev/null +++ b/compiler/testData/diagnostics/tests/script/NestedInnerClass.txt @@ -0,0 +1,41 @@ +package + +public final class NestedInnerClass { + public constructor NestedInnerClass() + public final val property: kotlin.String = "" + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun function(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + public final inner class Inner { + public constructor Inner() + public final val innerProp: kotlin.String = "" + public final val innerThisProp: kotlin.String = "" + 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 final fun innerFun(): kotlin.Int + public final fun innerThisFun(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + public final inner class InnerInner { + public constructor InnerInner() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun f(): kotlin.Int + public final fun g(): kotlin.String + public final fun h(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public final fun i(): kotlin.String + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + } + + public final class Nested { + public constructor Nested() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun f(): kotlin.Int + public final fun g(): kotlin.String + 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/script/SimpleScript.txt b/compiler/testData/diagnostics/tests/script/SimpleScript.txt index c6c7182d196..aaf703414cf 100644 --- a/compiler/testData/diagnostics/tests/script/SimpleScript.txt +++ b/compiler/testData/diagnostics/tests/script/SimpleScript.txt @@ -2,7 +2,7 @@ package public final class SimpleScript { public constructor SimpleScript() - public final val rv: kotlin.Unit + public final val x: kotlin.Int = 1 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/script/imports.txt b/compiler/testData/diagnostics/tests/script/imports.txt index 38239d42bb2..ed70eb6ce01 100644 --- a/compiler/testData/diagnostics/tests/script/imports.txt +++ b/compiler/testData/diagnostics/tests/script/imports.txt @@ -3,7 +3,6 @@ package public final class Imports { public constructor Imports() public final val al: java.util.ArrayList? = null - public final val rv: 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/script/varInScript.txt b/compiler/testData/diagnostics/tests/script/varInScript.txt index aba5a53c7d7..7c1db6db9a2 100644 --- a/compiler/testData/diagnostics/tests/script/varInScript.txt +++ b/compiler/testData/diagnostics/tests/script/varInScript.txt @@ -2,7 +2,6 @@ package public final class Script { public constructor Script() - public final val rv: 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 final fun main(): kotlin.Boolean diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index a7fe7c0b554..ddd573be888 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -12276,6 +12276,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("ScriptAndClassConflict.kt") + public void testScriptAndClassConflict() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/redeclarations/ScriptAndClassConflict.kt"); + doTest(fileName); + } + @TestMetadata("SingletonAndFunctionSameName.kt") public void testSingletonAndFunctionSameName() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/redeclarations/SingletonAndFunctionSameName.kt"); @@ -17392,6 +17398,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("NestedInnerClass.kts") + public void testNestedInnerClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/script/NestedInnerClass.kts"); + doTest(fileName); + } + @TestMetadata("SimpleScript.kts") public void testSimpleScript() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/script/SimpleScript.kts");