[FIR] builder: more tests for annotations

^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-11-22 17:46:01 +01:00
committed by Space Team
parent 11749d7c89
commit 1d5ab8c24f
71 changed files with 1930 additions and 13 deletions
@@ -51,6 +51,18 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnProperty.kt");
}
@Test
@TestMetadata("annotationOnSuperType.kt")
public void testAnnotationOnSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperType.kt");
}
@Test
@TestMetadata("annotationOnSuperTypeCall.kt")
public void testAnnotationOnSuperTypeCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperTypeCall.kt");
}
@Test
@TestMetadata("annotationsOnNullableParenthesizedTypes.kt")
public void testAnnotationsOnNullableParenthesizedTypes() throws Exception {
@@ -63,6 +75,18 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.kt");
}
@Test
@TestMetadata("anonymousObjectWithAnnotation.kt")
public void testAnonymousObjectWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/anonymousObjectWithAnnotation.kt");
}
@Test
@TestMetadata("classLevelDestructuringWithAnnotation.kt")
public void testClassLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classLevelDestructuringWithAnnotation.kt");
}
@Test
@TestMetadata("classWithWrongSuperCall.kt")
public void testClassWithWrongSuperCall() throws Exception {
@@ -87,6 +111,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@Test
@TestMetadata("constructorWithLocalDeclarations.kt")
public void testConstructorWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorWithLocalDeclarations.kt");
}
@Test
@TestMetadata("contextReceivers.kt")
public void testContextReceivers() throws Exception {
@@ -105,12 +135,36 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsFileLevel.kt");
}
@Test
@TestMetadata("danglingConstrants.kt")
public void testDanglingConstrants() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingConstrants.kt");
}
@Test
@TestMetadata("dataClassWithAnnotations.kt")
public void testDataClassWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/dataClassWithAnnotations.kt");
}
@Test
@TestMetadata("delegatedFieldNestedName.kt")
public void testDelegatedFieldNestedName() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatedFieldNestedName.kt");
}
@Test
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt");
}
@Test
@TestMetadata("delegatesWithAnnotations.kt")
public void testDelegatesWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatesWithAnnotations.kt");
}
@Test
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
@@ -123,6 +177,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@Test
@TestMetadata("enumEntryWithAnnotations.kt")
public void testEnumEntryWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enumEntryWithAnnotations.kt");
}
@Test
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
@@ -183,6 +243,18 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@Test
@TestMetadata("fileAnnotations.kt")
public void testFileAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotations.kt");
}
@Test
@TestMetadata("fileAnnotationsWithoutPackage.kt")
public void testFileAnnotationsWithoutPackage() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotationsWithoutPackage.kt");
}
@Test
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
@@ -213,6 +285,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.kt");
}
@Test
@TestMetadata("initWithLocalDeclarations.kt")
public void testInitWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initWithLocalDeclarations.kt");
}
@Test
@TestMetadata("invalidDestructing.kt")
public void testInvalidDestructing() throws Exception {
@@ -231,12 +309,30 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/kotlinAnyNonTopLevel.kt");
}
@Test
@TestMetadata("localAnnotations.kt")
public void testLocalAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localAnnotations.kt");
}
@Test
@TestMetadata("localDeclarationsInEnumEntry.kt")
public void testLocalDeclarationsInEnumEntry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt");
}
@Test
@TestMetadata("localImplicitType.kt")
public void testLocalImplicitType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localImplicitType.kt");
}
@Test
@TestMetadata("multiDeclarations.kt")
public void testMultiDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/multiDeclarations.kt");
}
@Test
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
@@ -273,6 +369,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/propertyWithBackingFieldDifferentTypes.kt");
}
@Test
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/secondaryConstructor.kt");
}
@Test
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
@@ -303,6 +405,12 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/suspendFunctionTypes.kt");
}
@Test
@TestMetadata("topLevelDestructuringWithAnnotation.kt")
public void testTopLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/topLevelDestructuringWithAnnotation.kt");
}
@Test
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
@@ -51,6 +51,18 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnProperty.kt");
}
@Test
@TestMetadata("annotationOnSuperType.kt")
public void testAnnotationOnSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperType.kt");
}
@Test
@TestMetadata("annotationOnSuperTypeCall.kt")
public void testAnnotationOnSuperTypeCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperTypeCall.kt");
}
@Test
@TestMetadata("annotationsOnNullableParenthesizedTypes.kt")
public void testAnnotationsOnNullableParenthesizedTypes() throws Exception {
@@ -63,6 +75,18 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.kt");
}
@Test
@TestMetadata("anonymousObjectWithAnnotation.kt")
public void testAnonymousObjectWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/anonymousObjectWithAnnotation.kt");
}
@Test
@TestMetadata("classLevelDestructuringWithAnnotation.kt")
public void testClassLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classLevelDestructuringWithAnnotation.kt");
}
@Test
@TestMetadata("classWithWrongSuperCall.kt")
public void testClassWithWrongSuperCall() throws Exception {
@@ -87,6 +111,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@Test
@TestMetadata("constructorWithLocalDeclarations.kt")
public void testConstructorWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorWithLocalDeclarations.kt");
}
@Test
@TestMetadata("contextReceivers.kt")
public void testContextReceivers() throws Exception {
@@ -105,12 +135,36 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsFileLevel.kt");
}
@Test
@TestMetadata("danglingConstrants.kt")
public void testDanglingConstrants() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingConstrants.kt");
}
@Test
@TestMetadata("dataClassWithAnnotations.kt")
public void testDataClassWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/dataClassWithAnnotations.kt");
}
@Test
@TestMetadata("delegatedFieldNestedName.kt")
public void testDelegatedFieldNestedName() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatedFieldNestedName.kt");
}
@Test
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt");
}
@Test
@TestMetadata("delegatesWithAnnotations.kt")
public void testDelegatesWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatesWithAnnotations.kt");
}
@Test
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
@@ -123,6 +177,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@Test
@TestMetadata("enumEntryWithAnnotations.kt")
public void testEnumEntryWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enumEntryWithAnnotations.kt");
}
@Test
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
@@ -183,6 +243,18 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@Test
@TestMetadata("fileAnnotations.kt")
public void testFileAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotations.kt");
}
@Test
@TestMetadata("fileAnnotationsWithoutPackage.kt")
public void testFileAnnotationsWithoutPackage() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotationsWithoutPackage.kt");
}
@Test
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
@@ -213,6 +285,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.kt");
}
@Test
@TestMetadata("initWithLocalDeclarations.kt")
public void testInitWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initWithLocalDeclarations.kt");
}
@Test
@TestMetadata("invalidDestructing.kt")
public void testInvalidDestructing() throws Exception {
@@ -231,12 +309,30 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/kotlinAnyNonTopLevel.kt");
}
@Test
@TestMetadata("localAnnotations.kt")
public void testLocalAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localAnnotations.kt");
}
@Test
@TestMetadata("localDeclarationsInEnumEntry.kt")
public void testLocalDeclarationsInEnumEntry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt");
}
@Test
@TestMetadata("localImplicitType.kt")
public void testLocalImplicitType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localImplicitType.kt");
}
@Test
@TestMetadata("multiDeclarations.kt")
public void testMultiDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/multiDeclarations.kt");
}
@Test
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
@@ -273,6 +369,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/propertyWithBackingFieldDifferentTypes.kt");
}
@Test
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/secondaryConstructor.kt");
}
@Test
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
@@ -303,6 +405,12 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/suspendFunctionTypes.kt");
}
@Test
@TestMetadata("topLevelDestructuringWithAnnotation.kt")
public void testTopLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/topLevelDestructuringWithAnnotation.kt");
}
@Test
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
@@ -56,6 +56,16 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnProperty.kt");
}
@TestMetadata("annotationOnSuperType.kt")
public void testAnnotationOnSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperType.kt");
}
@TestMetadata("annotationOnSuperTypeCall.kt")
public void testAnnotationOnSuperTypeCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperTypeCall.kt");
}
@TestMetadata("annotationsOnNullableParenthesizedTypes.kt")
public void testAnnotationsOnNullableParenthesizedTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.kt");
@@ -66,6 +76,16 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.kt");
}
@TestMetadata("anonymousObjectWithAnnotation.kt")
public void testAnonymousObjectWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/anonymousObjectWithAnnotation.kt");
}
@TestMetadata("classLevelDestructuringWithAnnotation.kt")
public void testClassLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("classWithWrongSuperCall.kt")
public void testClassWithWrongSuperCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classWithWrongSuperCall.kt");
@@ -86,6 +106,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@TestMetadata("constructorWithLocalDeclarations.kt")
public void testConstructorWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorWithLocalDeclarations.kt");
}
@TestMetadata("contextReceivers.kt")
public void testContextReceivers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.kt");
@@ -101,11 +126,31 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsFileLevel.kt");
}
@TestMetadata("danglingConstrants.kt")
public void testDanglingConstrants() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingConstrants.kt");
}
@TestMetadata("dataClassWithAnnotations.kt")
public void testDataClassWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/dataClassWithAnnotations.kt");
}
@TestMetadata("delegatedFieldNestedName.kt")
public void testDelegatedFieldNestedName() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatedFieldNestedName.kt");
}
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt");
}
@TestMetadata("delegatesWithAnnotations.kt")
public void testDelegatesWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatesWithAnnotations.kt");
}
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt");
@@ -116,6 +161,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@TestMetadata("enumEntryWithAnnotations.kt")
public void testEnumEntryWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enumEntryWithAnnotations.kt");
}
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.kt");
@@ -166,6 +216,16 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@TestMetadata("fileAnnotations.kt")
public void testFileAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotations.kt");
}
@TestMetadata("fileAnnotationsWithoutPackage.kt")
public void testFileAnnotationsWithoutPackage() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotationsWithoutPackage.kt");
}
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/functionTypes.kt");
@@ -191,6 +251,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.kt");
}
@TestMetadata("initWithLocalDeclarations.kt")
public void testInitWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initWithLocalDeclarations.kt");
}
@TestMetadata("invalidDestructing.kt")
public void testInvalidDestructing() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt");
@@ -206,11 +271,26 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/kotlinAnyNonTopLevel.kt");
}
@TestMetadata("localAnnotations.kt")
public void testLocalAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localAnnotations.kt");
}
@TestMetadata("localDeclarationsInEnumEntry.kt")
public void testLocalDeclarationsInEnumEntry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt");
}
@TestMetadata("localImplicitType.kt")
public void testLocalImplicitType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localImplicitType.kt");
}
@TestMetadata("multiDeclarations.kt")
public void testMultiDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/multiDeclarations.kt");
}
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");
@@ -241,6 +321,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/propertyWithBackingFieldDifferentTypes.kt");
}
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/secondaryConstructor.kt");
}
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.kt");
@@ -266,6 +351,11 @@ public class LightTree2FirConverterTestCaseGenerated extends AbstractLightTree2F
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/suspendFunctionTypes.kt");
}
@TestMetadata("topLevelDestructuringWithAnnotation.kt")
public void testTopLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/topLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.kt");
@@ -10,6 +10,10 @@
@base class correct(@base val x: Int) {
@base constructor(): this(0)
@base init {
}
}
@base enum class My {
@@ -17,7 +21,7 @@
@base SECOND
}
@base fun foo(@base y: @base Int): Int {
@base fun foo(@base y: @base Int): @base Int {
@base fun bar(@base z: @base Int) = z + 1
@base val local = bar(y)
return local
@@ -36,7 +40,7 @@
AnnotationTarget.TYPE
) @base annotation class derived(val x: Int): base
@derived(1) class correctDerived(@derived(1) val x: Int) {
@derived(1) class correctDerived(@derived(1) val x: @derived(1) Int) {
@base constructor(): this(0)
}
@@ -45,7 +49,7 @@
@derived(1) SECOND
}
@derived(1) fun fooDerived(@derived(1) y: @derived(1) Int): Int {
@derived(1) fun fooDerived(@derived(1) y: @derived(1) Int): @derived(1) Int {
@derived(1) fun bar(@derived(1) z: @derived(1) Int) = z + 1
@derived(1) val local = bar(y)
return local
@@ -17,6 +17,8 @@ FILE: annotation.kt
LAZY_this<R|correct|>
}
@base() init { LAZY_BLOCK }
}
@base() public? final? enum class My : R|kotlin/Enum<My>| {
private constructor(): R|My| {
@@ -35,7 +37,7 @@ FILE: annotation.kt
public get(): R|kotlin/enums/EnumEntries<My>|
}
@base() public? final? fun foo(@base() y: @base() Int): Int { LAZY_BLOCK }
@base() public? final? fun foo(@base() y: @base() Int): @base() Int { LAZY_BLOCK }
@base() public? final? val z: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
@base() public? final? val x: Map<@base() Int, List<@base() Int>> = LAZY_EXPRESSION
@@ -50,12 +52,12 @@ FILE: annotation.kt
}
@derived(LAZY_EXPRESSION) public? final? class correctDerived : R|kotlin/Any| {
public? constructor(@derived(LAZY_EXPRESSION) x: Int): R|correctDerived| {
public? constructor(@derived(LAZY_EXPRESSION) x: @derived(LAZY_EXPRESSION) Int): R|correctDerived| {
LAZY_super<R|kotlin/Any|>
}
@derived(LAZY_EXPRESSION) public? final? val x: Int = R|<local>/x|
public? get(): Int
@derived(LAZY_EXPRESSION) public? final? val x: @derived(LAZY_EXPRESSION) Int = R|<local>/x|
public? get(): @derived(LAZY_EXPRESSION) Int
@base() public? constructor(): R|correctDerived| {
LAZY_this<R|correctDerived|>
@@ -79,7 +81,7 @@ FILE: annotation.kt
public get(): R|kotlin/enums/EnumEntries<MyDerived>|
}
@derived(LAZY_EXPRESSION) public? final? fun fooDerived(@derived(LAZY_EXPRESSION) y: @derived(LAZY_EXPRESSION) Int): Int { LAZY_BLOCK }
@derived(LAZY_EXPRESSION) public? final? fun fooDerived(@derived(LAZY_EXPRESSION) y: @derived(LAZY_EXPRESSION) Int): @derived(LAZY_EXPRESSION) Int { LAZY_BLOCK }
@derived(LAZY_EXPRESSION) public? final? val zDerived: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
@derived(LAZY_EXPRESSION) public? final? val xDerived: Map<@derived(LAZY_EXPRESSION) Int, List<@derived(LAZY_EXPRESSION) Int>> = LAZY_EXPRESSION
@@ -17,6 +17,9 @@ FILE: annotation.kt
this<R|correct|>(IntegerLiteral(0))
}
@base() init {
}
}
@base() public? final? enum class My : R|kotlin/Enum<My>| {
private [ContainingClassKey=My] constructor(): R|My| {
@@ -47,7 +50,7 @@ FILE: annotation.kt
public get(): R|kotlin/enums/EnumEntries<My>|
}
@base() public? final? fun foo(@base() y: @base() Int): Int {
@base() public? final? fun foo(@base() y: @base() Int): @base() Int {
@base() local final? fun bar(@base() z: @base() Int): <implicit> {
^bar z#.plus#(IntegerLiteral(1))
}
@@ -69,12 +72,12 @@ FILE: annotation.kt
}
@derived(IntegerLiteral(1)) public? final? class correctDerived : R|kotlin/Any| {
public? [ContainingClassKey=correctDerived] constructor([CorrespondingProperty=/correctDerived.x] @derived(IntegerLiteral(1)) x: Int): R|correctDerived| {
public? [ContainingClassKey=correctDerived] constructor([CorrespondingProperty=/correctDerived.x] @derived(IntegerLiteral(1)) x: @derived(IntegerLiteral(1)) Int): R|correctDerived| {
super<R|kotlin/Any|>()
}
@derived(IntegerLiteral(1)) public? final? [IsFromPrimaryConstructor=true] val x: Int = R|<local>/x|
public? [ContainingClassKey=correctDerived] get(): Int
@derived(IntegerLiteral(1)) public? final? [IsFromPrimaryConstructor=true] val x: @derived(IntegerLiteral(1)) Int = R|<local>/x|
public? [ContainingClassKey=correctDerived] get(): @derived(IntegerLiteral(1)) Int
@base() public? [ContainingClassKey=correctDerived] constructor(): R|correctDerived| {
this<R|correctDerived|>(IntegerLiteral(0))
@@ -110,7 +113,7 @@ FILE: annotation.kt
public get(): R|kotlin/enums/EnumEntries<MyDerived>|
}
@derived(IntegerLiteral(1)) public? final? fun fooDerived(@derived(IntegerLiteral(1)) y: @derived(IntegerLiteral(1)) Int): Int {
@derived(IntegerLiteral(1)) public? final? fun fooDerived(@derived(IntegerLiteral(1)) y: @derived(IntegerLiteral(1)) Int): @derived(IntegerLiteral(1)) Int {
@derived(IntegerLiteral(1)) local final? fun bar(@derived(IntegerLiteral(1)) z: @derived(IntegerLiteral(1)) Int): <implicit> {
^bar z#.plus#(IntegerLiteral(1))
}
@@ -0,0 +1,12 @@
package util
@Target(AnnotationTarget.TYPE)
annotation class Anno(val position: String)
const val prop = "str"
interface I
class MyClassWithoutConstructor : @Anno("MyClassWithoutConstructor super type ref $prop") List<@Anno("MyClassWithoutConstructor nested super type ref $prop") List<@Anno("MyClassWithoutConstructor nested nested super type ref $prop") I>>
class MyClassWithConstructor() : @Anno("MyClassWithConstructor super type ref $prop") List<@Anno("MyClassWithConstructor nested super type ref $prop") List<@Anno("MyClassWithConstructor nested nested super type ref $prop") I>>
@@ -0,0 +1,26 @@
FILE: annotationOnSuperType.kt
@Target(LAZY_EXPRESSION) public? final? annotation class Anno : R|kotlin/Annotation| {
public? constructor(position: String): R|util/Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? val position: String = R|<local>/position|
public? get(): String
}
public? final? const val prop: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? final? interface I : R|kotlin/Any| {
}
public? final? class MyClassWithoutConstructor : @Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) I>> {
public? constructor(): R|util/MyClassWithoutConstructor| {
LAZY_super<<implicit>>
}
}
public? final? class MyClassWithConstructor : @Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) I>> {
public? constructor(): R|util/MyClassWithConstructor| {
LAZY_super<<implicit>>
}
}
@@ -0,0 +1,26 @@
FILE: annotationOnSuperType.kt
@Target(AnnotationTarget#.TYPE#) public? final? annotation class Anno : R|kotlin/Annotation| {
public? [ContainingClassKey=Anno] constructor([CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ContainingClassKey=Anno] get(): String
}
public? final? const val prop: <implicit> = String(str)
public? get(): <implicit>
public? final? interface I : R|kotlin/Any| {
}
public? final? class MyClassWithoutConstructor : @Anno(<strcat>(String(MyClassWithoutConstructor super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithoutConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithoutConstructor nested nested super type ref ), prop#)) I>> {
public? [ContainingClassKey=MyClassWithoutConstructor] constructor(): R|util/MyClassWithoutConstructor| {
super<<implicit>>()
}
}
public? final? class MyClassWithConstructor : @Anno(<strcat>(String(MyClassWithConstructor super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithConstructor nested nested super type ref ), prop#)) I>> {
public? [ContainingClassKey=MyClassWithConstructor] constructor(): R|util/MyClassWithConstructor| {
super<<implicit>>()
}
}
@@ -0,0 +1,12 @@
package util
@Target(AnnotationTarget.TYPE)
annotation class Anno(val position: String)
const val prop = "str"
abstract class AbstractClass<T>
class MyClassWithoutConstructor : @Anno("MyClassWithoutConstructor super type call $prop") AbstractClass<@Anno("MyClassWithoutConstructor nested super type ref $prop") List<@Anno("MyClassWithoutConstructor nested nested super type ref $prop") Int>>()
class MyClassWithConstructor() : @Anno("MyClassWithConstructor super type call $prop") AbstractClass<@Anno("MyClassWithConstructor nested super type ref $prop") List<@Anno("MyClassWithConstructor nested nested super type ref $prop") Int>>()
@@ -0,0 +1,30 @@
FILE: annotationOnSuperTypeCall.kt
@Target(LAZY_EXPRESSION) public? final? annotation class Anno : R|kotlin/Annotation| {
public? constructor(position: String): R|util/Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? val position: String = R|<local>/position|
public? get(): String
}
public? final? const val prop: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? abstract class AbstractClass<T> : R|kotlin/Any| {
public? constructor<T>(): R|util/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? class MyClassWithoutConstructor : @Anno(LAZY_EXPRESSION) AbstractClass<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) Int>> {
public? constructor(): R|util/MyClassWithoutConstructor| {
LAZY_super<@Anno(LAZY_EXPRESSION) AbstractClass<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) Int>>>
}
}
public? final? class MyClassWithConstructor : @Anno(LAZY_EXPRESSION) AbstractClass<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) Int>> {
public? constructor(): R|util/MyClassWithConstructor| {
LAZY_super<@Anno(LAZY_EXPRESSION) AbstractClass<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) Int>>>
}
}
@@ -0,0 +1,30 @@
FILE: annotationOnSuperTypeCall.kt
@Target(AnnotationTarget#.TYPE#) public? final? annotation class Anno : R|kotlin/Annotation| {
public? [ContainingClassKey=Anno] constructor([CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ContainingClassKey=Anno] get(): String
}
public? final? const val prop: <implicit> = String(str)
public? get(): <implicit>
public? abstract class AbstractClass<T> : R|kotlin/Any| {
public? [ContainingClassKey=AbstractClass] constructor<T>(): R|util/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
}
public? final? class MyClassWithoutConstructor : @Anno(<strcat>(String(MyClassWithoutConstructor super type call ), prop#)) AbstractClass<@Anno(<strcat>(String(MyClassWithoutConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithoutConstructor nested nested super type ref ), prop#)) Int>> {
public? [ContainingClassKey=MyClassWithoutConstructor] constructor(): R|util/MyClassWithoutConstructor| {
super<@Anno(<strcat>(String(MyClassWithoutConstructor super type call ), prop#)) AbstractClass<@Anno(<strcat>(String(MyClassWithoutConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithoutConstructor nested nested super type ref ), prop#)) Int>>>()
}
}
public? final? class MyClassWithConstructor : @Anno(<strcat>(String(MyClassWithConstructor super type call ), prop#)) AbstractClass<@Anno(<strcat>(String(MyClassWithConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithConstructor nested nested super type ref ), prop#)) Int>> {
public? [ContainingClassKey=MyClassWithConstructor] constructor(): R|util/MyClassWithConstructor| {
super<@Anno(<strcat>(String(MyClassWithConstructor super type call ), prop#)) AbstractClass<@Anno(<strcat>(String(MyClassWithConstructor nested super type ref ), prop#)) List<@Anno(<strcat>(String(MyClassWithConstructor nested nested super type ref ), prop#)) Int>>>()
}
}
@@ -0,0 +1,7 @@
val prop = @Anno("object annotation") object : @SuperType("super type") List<@SuperType("nested super type") Collection<@SuperType("nested nested super type")Int>>() {
@Anno("init") init {
@Expression("expr") foo().let { it: @Anno("lambda param type") Int ->
}
}
}
@@ -0,0 +1,3 @@
FILE: anonymousObjectWithAnnotation.kt
public? final? val prop: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
@@ -0,0 +1,16 @@
FILE: anonymousObjectWithAnnotation.kt
public? final? val prop: <implicit> = @Anno(String(object annotation)) object : @SuperType(String(super type)) List<@SuperType(String(nested super type)) Collection<@SuperType(String(nested nested super type)) Int>> {
private [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
super<@SuperType(String(super type)) List<@SuperType(String(nested super type)) Collection<@SuperType(String(nested nested super type)) Int>>>()
}
@Anno(String(init)) init {
@Expression(String(expr)) foo#().let#(<L> = let@fun <implicit>.<anonymous>(it: @Anno(String(lambda param type)) Int): <implicit> <inline=Unknown> {
^@let Unit
}
)
}
}
public? get(): <implicit>
@@ -0,0 +1,6 @@
package util
class Foo {
@Destructuring("destr $prop")
val (@LeftAnno("a $prop") a, @RightAnno("b $prop") b) = Pair(0, 1)
}
@@ -0,0 +1,9 @@
FILE: classLevelDestructuringWithAnnotation.kt
public? final? class Foo : R|kotlin/Any| {
public? constructor(): R|util/Foo| {
LAZY_super<R|kotlin/Any|>
}
<ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
}
@@ -0,0 +1,9 @@
FILE: classLevelDestructuringWithAnnotation.kt
public? final? class Foo : R|kotlin/Any| {
public? [ContainingClassKey=Foo] constructor(): R|util/Foo| {
super<R|kotlin/Any|>()
}
<ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
}
@@ -0,0 +1,17 @@
package util
class A {
constructor() {
class OuterIntoLocal {
fun doo() = foo()
fun foo() = bar()
fun baz() = foo()
}
class LocalIntoLocal {
fun foo() = bar()
fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null
fun foo2() = bar()
}
}
}
@@ -0,0 +1,5 @@
FILE: constructorWithLocalDeclarations.kt
public? final? class A : R|kotlin/Any| {
public? constructor(): R|util/A| { LAZY_BLOCK }
}
@@ -0,0 +1,45 @@
FILE: constructorWithLocalDeclarations.kt
public? final? class A : R|kotlin/Any| {
public? [ContainingClassKey=A] constructor(): R|util/A| {
super<R|kotlin/Any|>()
local final? class OuterIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=OuterIntoLocal] constructor(): R|<local>/OuterIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun doo(): <implicit> {
^doo foo#()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun baz(): <implicit> {
^baz foo#()
}
}
local final? class LocalIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=LocalIntoLocal] constructor(): R|<local>/LocalIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun bar(): @Anno(<strcat>(String(bar ), prop#)) List<@Anno(<strcat>(String(nested bar ), prop#)) Collection<@Anno(<strcat>(String(nested nested bar ), prop#)) Int>>? {
^bar Null(null)
}
public? final? fun foo2(): <implicit> {
^foo2 bar#()
}
}
}
}
@@ -0,0 +1,11 @@
fun function(): Int where T : @Anno("function contraint") List<@Anno("nested function contraint") Collection<@Anno("nested nested function contraint") String>> {}
val property: String where T : @Anno("property contraint") List<@Anno("nested property contraint") Collection<@Anno("nested nested property contraint") String>> =
"0"
class TopLevelClass where T : @Anno("class contraint") List<@Anno("nested class contraint") Collection<@Anno("nested nested class contraint") String>> {
fun memberFunction(): Int where T : @Anno("member function contraint") List<@Anno("nested member function contraint") Collection<@Anno("nested nested member function contraint") String>> {}
val memberProperty: String where T : @Anno("member property contraint") List<@Anno("nested member property contraint") Collection<@Anno("nested nested member property contraint") String>> =
"0"
class NestedClass where T : @Anno("class contraint") List<@Anno("nested class contraint") Collection<@Anno("nested nested class contraint") String>>
}
@@ -0,0 +1,22 @@
FILE: danglingConstrants.kt
public? final? fun function(): Int { LAZY_BLOCK }
public? final? val property: String = LAZY_EXPRESSION
public? get(): String
public? final? class TopLevelClass : R|kotlin/Any| {
public? constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? fun memberFunction(): Int { LAZY_BLOCK }
public? final? val memberProperty: String = LAZY_EXPRESSION
public? get(): String
public? final? class NestedClass : R|kotlin/Any| {
public? constructor(): R|TopLevelClass.NestedClass| {
LAZY_super<R|kotlin/Any|>
}
}
}
@@ -0,0 +1,24 @@
FILE: danglingConstrants.kt
public? final? fun function(): Int {
}
public? final? val property: String = String(0)
public? get(): String
public? final? class TopLevelClass : R|kotlin/Any| {
public? [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
super<R|kotlin/Any|>()
}
public? final? fun memberFunction(): Int {
}
public? final? val memberProperty: String = String(0)
public? [ContainingClassKey=TopLevelClass] get(): String
public? final? class NestedClass : R|kotlin/Any| {
public? [ContainingClassKey=NestedClass] constructor(): R|TopLevelClass.NestedClass| {
super<R|kotlin/Any|>()
}
}
}
@@ -0,0 +1,9 @@
@Anno("Derived $x")
data class Derived @Anno("Derived constructor $x") constructor(
@Anno("b $x")
@get:Anno("get: b $x")
@param:Anno("param: b $x")
@property:Anno("property: b $x")
val b: @Anno("Derived b parameter type $x") B<@Anno("nested Derived b parameter type $x") BNested<@Anno("nested nested Derived b parameter type $x") BNestedNested>>,
val c: @Anno("Derived c parameter type $x") C<@Anno("nested Derived c parameter type $x") CNested<@Anno("nested nested Derived c parameter type $x") CNestedNested>>,
) : @Anno("Base super type call $x") Base<@Anno("nested super type call $x") Nested<@Anno("nested nested super type call $x") NestedNested>>()
@@ -0,0 +1,19 @@
FILE: dataClassWithAnnotations.kt
@Anno(LAZY_EXPRESSION) public? final? data class Derived : @Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Nested<@Anno(LAZY_EXPRESSION) NestedNested>> {
@Anno(LAZY_EXPRESSION) public? constructor(@Anno(LAZY_EXPRESSION) @CONSTRUCTOR_PARAMETER:Anno(LAZY_EXPRESSION) b: @Anno(LAZY_EXPRESSION) B<@Anno(LAZY_EXPRESSION) BNested<@Anno(LAZY_EXPRESSION) BNestedNested>>, c: @Anno(LAZY_EXPRESSION) C<@Anno(LAZY_EXPRESSION) CNested<@Anno(LAZY_EXPRESSION) CNestedNested>>): R|Derived| {
LAZY_super<@Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Nested<@Anno(LAZY_EXPRESSION) NestedNested>>>
}
@Anno(LAZY_EXPRESSION) @PROPERTY:Anno(LAZY_EXPRESSION) public? final? val b: @Anno(LAZY_EXPRESSION) B<@Anno(LAZY_EXPRESSION) BNested<@Anno(LAZY_EXPRESSION) BNestedNested>> = R|<local>/b|
@PROPERTY_GETTER:Anno(LAZY_EXPRESSION) public? get(): @Anno(LAZY_EXPRESSION) B<@Anno(LAZY_EXPRESSION) BNested<@Anno(LAZY_EXPRESSION) BNestedNested>>
public? final? val c: @Anno(LAZY_EXPRESSION) C<@Anno(LAZY_EXPRESSION) CNested<@Anno(LAZY_EXPRESSION) CNestedNested>> = R|<local>/c|
public? get(): @Anno(LAZY_EXPRESSION) C<@Anno(LAZY_EXPRESSION) CNested<@Anno(LAZY_EXPRESSION) CNestedNested>>
public? final operator fun component1(): @Anno(LAZY_EXPRESSION) B<@Anno(LAZY_EXPRESSION) BNested<@Anno(LAZY_EXPRESSION) BNestedNested>>
public? final operator fun component2(): @Anno(LAZY_EXPRESSION) C<@Anno(LAZY_EXPRESSION) CNested<@Anno(LAZY_EXPRESSION) CNestedNested>>
public final fun copy(@Anno(LAZY_EXPRESSION) @Anno(LAZY_EXPRESSION) b: @Anno(LAZY_EXPRESSION) B<@Anno(LAZY_EXPRESSION) BNested<@Anno(LAZY_EXPRESSION) BNestedNested>> = this@R|/Derived|.R|/Derived.b|, c: @Anno(LAZY_EXPRESSION) C<@Anno(LAZY_EXPRESSION) CNested<@Anno(LAZY_EXPRESSION) CNestedNested>> = this@R|/Derived|.R|/Derived.c|): R|Derived|
}
@@ -0,0 +1,19 @@
FILE: dataClassWithAnnotations.kt
@Anno(<strcat>(String(Derived ), x#)) public? final? data class Derived : @Anno(<strcat>(String(Base super type call ), x#)) Base<@Anno(<strcat>(String(nested super type call ), x#)) Nested<@Anno(<strcat>(String(nested nested super type call ), x#)) NestedNested>> {
@Anno(<strcat>(String(Derived constructor ), x#)) public? [ContainingClassKey=Derived] constructor([CorrespondingProperty=/Derived.b] @Anno(<strcat>(String(b ), x#)) @CONSTRUCTOR_PARAMETER:Anno(<strcat>(String(param: b ), x#)) b: @Anno(<strcat>(String(Derived b parameter type ), x#)) B<@Anno(<strcat>(String(nested Derived b parameter type ), x#)) BNested<@Anno(<strcat>(String(nested nested Derived b parameter type ), x#)) BNestedNested>>, [CorrespondingProperty=/Derived.c] c: @Anno(<strcat>(String(Derived c parameter type ), x#)) C<@Anno(<strcat>(String(nested Derived c parameter type ), x#)) CNested<@Anno(<strcat>(String(nested nested Derived c parameter type ), x#)) CNestedNested>>): R|Derived| {
super<@Anno(<strcat>(String(Base super type call ), x#)) Base<@Anno(<strcat>(String(nested super type call ), x#)) Nested<@Anno(<strcat>(String(nested nested super type call ), x#)) NestedNested>>>()
}
@Anno(<strcat>(String(b ), x#)) @PROPERTY:Anno(<strcat>(String(property: b ), x#)) public? final? [ComponentFunctionSymbolKey=/Derived.component1, IsFromPrimaryConstructor=true] val b: @Anno(<strcat>(String(Derived b parameter type ), x#)) B<@Anno(<strcat>(String(nested Derived b parameter type ), x#)) BNested<@Anno(<strcat>(String(nested nested Derived b parameter type ), x#)) BNestedNested>> = R|<local>/b|
@PROPERTY_GETTER:Anno(<strcat>(String(get: b ), x#)) public? [ContainingClassKey=Derived] get(): @Anno(<strcat>(String(Derived b parameter type ), x#)) B<@Anno(<strcat>(String(nested Derived b parameter type ), x#)) BNested<@Anno(<strcat>(String(nested nested Derived b parameter type ), x#)) BNestedNested>>
public? final? [ComponentFunctionSymbolKey=/Derived.component2, IsFromPrimaryConstructor=true] val c: @Anno(<strcat>(String(Derived c parameter type ), x#)) C<@Anno(<strcat>(String(nested Derived c parameter type ), x#)) CNested<@Anno(<strcat>(String(nested nested Derived c parameter type ), x#)) CNestedNested>> = R|<local>/c|
public? [ContainingClassKey=Derived] get(): @Anno(<strcat>(String(Derived c parameter type ), x#)) C<@Anno(<strcat>(String(nested Derived c parameter type ), x#)) CNested<@Anno(<strcat>(String(nested nested Derived c parameter type ), x#)) CNestedNested>>
public? final operator fun component1(): @Anno(<strcat>(String(Derived b parameter type ), x#)) B<@Anno(<strcat>(String(nested Derived b parameter type ), x#)) BNested<@Anno(<strcat>(String(nested nested Derived b parameter type ), x#)) BNestedNested>>
public? final operator fun component2(): @Anno(<strcat>(String(Derived c parameter type ), x#)) C<@Anno(<strcat>(String(nested Derived c parameter type ), x#)) CNested<@Anno(<strcat>(String(nested nested Derived c parameter type ), x#)) CNestedNested>>
public final fun copy(@Anno(<strcat>(String(b ), x#)) @Anno(<strcat>(String(param: b ), x#)) b: @Anno(<strcat>(String(Derived b parameter type ), x#)) B<@Anno(<strcat>(String(nested Derived b parameter type ), x#)) BNested<@Anno(<strcat>(String(nested nested Derived b parameter type ), x#)) BNestedNested>> = this@R|/Derived|.R|/Derived.b|, c: @Anno(<strcat>(String(Derived c parameter type ), x#)) C<@Anno(<strcat>(String(nested Derived c parameter type ), x#)) CNested<@Anno(<strcat>(String(nested nested Derived c parameter type ), x#)) CNestedNested>> = this@R|/Derived|.R|/Derived.c|): R|Derived|
}
@@ -0,0 +1,26 @@
package second
@Target(AnnotationTarget.TYPE)
annotation class Anno(val i: Int)
interface Base<A> {
fun foo() {}
}
interface Second<T> {
}
const val outer = 0
const val inner = ""
class MyClass :
@Anno(0 + outer) Base<@Anno(1 + outer) Base<@Anno(2 + outer) Int>> by Companion,
@Anno(4 + outer) Second<@Anno(5 + outer) String> by NestedObject {
companion object : @Anno(6 + inner) Base<@Anno(7 + inner) Base<@Anno(8 + inner) Int>> {
const val outer = ""
const val inner = 0
}
object NestedObject : @Anno(9 + inner) Second<@Anno(10 + inner) String>
}
@@ -0,0 +1,50 @@
FILE: delegatedFieldNestedName.kt
@Target(LAZY_EXPRESSION) public? final? annotation class Anno : R|kotlin/Annotation| {
public? constructor(i: Int): R|second/Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? val i: Int = R|<local>/i|
public? get(): Int
}
public? final? interface Base<A> : R|kotlin/Any| {
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? interface Second<T> : R|kotlin/Any| {
}
public? final? const val outer: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? final? const val inner: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? final? class MyClass : @Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Int>>, @Anno(LAZY_EXPRESSION) Second<@Anno(LAZY_EXPRESSION) String> {
public? constructor(): R|second/MyClass| {
LAZY_super<<implicit>>
}
private final field $$delegate_0: @Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Int>> = LAZY_EXPRESSION
private final field $$delegate_1: @Anno(LAZY_EXPRESSION) Second<@Anno(LAZY_EXPRESSION) String> = LAZY_EXPRESSION
public? final? companion object Companion : @Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Base<@Anno(LAZY_EXPRESSION) Int>> {
private constructor(): R|second/MyClass.Companion| {
LAZY_super<<implicit>>
}
public? final? const val outer: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? final? const val inner: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
}
public? final? object NestedObject : @Anno(LAZY_EXPRESSION) Second<@Anno(LAZY_EXPRESSION) String> {
private constructor(): R|second/MyClass.NestedObject| {
LAZY_super<<implicit>>
}
}
}
@@ -0,0 +1,51 @@
FILE: delegatedFieldNestedName.kt
@Target(AnnotationTarget#.TYPE#) public? final? annotation class Anno : R|kotlin/Annotation| {
public? [ContainingClassKey=Anno] constructor([CorrespondingProperty=second/Anno.i] i: Int): R|second/Anno| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true] val i: Int = R|<local>/i|
public? [ContainingClassKey=Anno] get(): Int
}
public? final? interface Base<A> : R|kotlin/Any| {
public? final? fun foo(): R|kotlin/Unit| {
}
}
public? final? interface Second<T> : R|kotlin/Any| {
}
public? final? const val outer: <implicit> = IntegerLiteral(0)
public? get(): <implicit>
public? final? const val inner: <implicit> = String()
public? get(): <implicit>
public? final? [DelegateFieldsMapKey={0=FirFieldSymbol second/MyClass.$$delegate_0, 1=FirFieldSymbol second/MyClass.$$delegate_1}] class MyClass : @Anno(IntegerLiteral(0).plus#(outer#)) Base<@Anno(IntegerLiteral(1).plus#(outer#)) Base<@Anno(IntegerLiteral(2).plus#(outer#)) Int>>, @Anno(IntegerLiteral(4).plus#(outer#)) Second<@Anno(IntegerLiteral(5).plus#(outer#)) String> {
public? [ContainingClassKey=MyClass] constructor(): R|second/MyClass| {
super<<implicit>>()
}
private final field $$delegate_0: @Anno(IntegerLiteral(0).plus#(outer#)) Base<@Anno(IntegerLiteral(1).plus#(outer#)) Base<@Anno(IntegerLiteral(2).plus#(outer#)) Int>> = Companion#
private final field $$delegate_1: @Anno(IntegerLiteral(4).plus#(outer#)) Second<@Anno(IntegerLiteral(5).plus#(outer#)) String> = NestedObject#
public? final? companion object Companion : @Anno(IntegerLiteral(6).plus#(inner#)) Base<@Anno(IntegerLiteral(7).plus#(inner#)) Base<@Anno(IntegerLiteral(8).plus#(inner#)) Int>> {
private [ContainingClassKey=Companion] constructor(): R|second/MyClass.Companion| {
super<<implicit>>()
}
public? final? const val outer: <implicit> = String()
public? [ContainingClassKey=Companion] get(): <implicit>
public? final? const val inner: <implicit> = IntegerLiteral(0)
public? [ContainingClassKey=Companion] get(): <implicit>
}
public? final? object NestedObject : @Anno(IntegerLiteral(9).plus#(inner#)) Second<@Anno(IntegerLiteral(10).plus#(inner#)) String> {
private [ContainingClassKey=NestedObject] constructor(): R|second/MyClass.NestedObject| {
super<<implicit>>()
}
}
}
@@ -0,0 +1,24 @@
@Anno("x annotation $x")
val x: Int by lazy { 1 + 2 }
@Anno("delegate annotation $x")
@delegate:Anno("delegate: delegate annotation $x")
val delegate = object: ReadWriteProperty<@Anno("ReadWriteProperty first type argument $x") Any?, @Anno("ReadWriteProperty second type argument $x") Int> {
@Anno("getValue $x")
override fun getValue(thisRef: Any?, property: KProperty<*>): @Anno("getValue return type $x") Int = 1
@Anno("setValue $x")
override fun setValue(thisRef: Any?, property: KProperty<*>, value: @Anno("setValue value parameter type $x") Int) {}
}
@Anno("value annotation $x")
@delegate:Anno("delegate: value annotation $x")
@get:Anno("get: value annotation $x")
val value by delegate
@Anno("variable annotation $x")
@delegate:Anno("delegate: value annotation $x")
@get:Anno("get: value annotation $x")
@set:Anno("set: value annotation $x")
@setparam:Anno("setparam: value annotation $x")
var variable by delegate
@@ -0,0 +1,10 @@
FILE: delegatesWithAnnotations.kt
@Anno(LAZY_EXPRESSION) public? final? val x: Intby LAZY_EXPRESSION
public? get(): <implicit> { LAZY_BLOCK }
@Anno(LAZY_EXPRESSION) field:@PROPERTY_DELEGATE_FIELD:Anno(LAZY_EXPRESSION) public? final? val delegate: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
@Anno(LAZY_EXPRESSION) field:@PROPERTY_DELEGATE_FIELD:Anno(LAZY_EXPRESSION) public? final? val value: <implicit>by LAZY_EXPRESSION
@PROPERTY_GETTER:Anno(LAZY_EXPRESSION) public? get(): <implicit> { LAZY_BLOCK }
@Anno(LAZY_EXPRESSION) field:@PROPERTY_DELEGATE_FIELD:Anno(LAZY_EXPRESSION) public? final? var variable: <implicit>by LAZY_EXPRESSION
@PROPERTY_GETTER:Anno(LAZY_EXPRESSION) public? get(): <implicit> { LAZY_BLOCK }
@PROPERTY_SETTER:Anno(LAZY_EXPRESSION) public? set(@SETTER_PARAMETER:Anno(LAZY_EXPRESSION) <set-?>: <implicit>): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,34 @@
FILE: delegatesWithAnnotations.kt
@Anno(<strcat>(String(x annotation ), x#)) public? final? val x: Intby lazy#(<L> = lazy@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
IntegerLiteral(1).plus#(IntegerLiteral(2))
}
)
public? get(): <implicit> {
^ D|/x|.getValue#(Null(null), ::R|/x|)
}
@Anno(<strcat>(String(delegate annotation ), x#)) field:@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: delegate annotation ), x#)) public? final? val delegate: <implicit> = object : ReadWriteProperty<@Anno(<strcat>(String(ReadWriteProperty first type argument ), x#)) Any?, @Anno(<strcat>(String(ReadWriteProperty second type argument ), x#)) Int> {
private [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
super<<implicit>>()
}
@Anno(<strcat>(String(getValue ), x#)) public? open? override fun getValue(thisRef: Any?, property: KProperty<*>): @Anno(<strcat>(String(getValue return type ), x#)) Int {
^getValue IntegerLiteral(1)
}
@Anno(<strcat>(String(setValue ), x#)) public? open? override fun setValue(thisRef: Any?, property: KProperty<*>, value: @Anno(<strcat>(String(setValue value parameter type ), x#)) Int): R|kotlin/Unit| {
}
}
public? get(): <implicit>
@Anno(<strcat>(String(value annotation ), x#)) field:@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: value annotation ), x#)) public? final? val value: <implicit>by delegate#
@PROPERTY_GETTER:Anno(<strcat>(String(get: value annotation ), x#)) public? get(): <implicit> {
^ D|/value|.getValue#(Null(null), ::R|/value|)
}
@Anno(<strcat>(String(variable annotation ), x#)) field:@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: value annotation ), x#)) public? final? var variable: <implicit>by delegate#
@PROPERTY_GETTER:Anno(<strcat>(String(get: value annotation ), x#)) public? get(): <implicit> {
^ D|/variable|.getValue#(Null(null), ::R|/variable|)
}
@PROPERTY_SETTER:Anno(<strcat>(String(set: value annotation ), x#)) public? set(@SETTER_PARAMETER:Anno(<strcat>(String(setparam: value annotation ), x#)) <set-?>: <implicit>): R|kotlin/Unit| {
^ D|/variable|.setValue#(Null(null), ::R|/variable|, R|<local>/variable|)
}
@@ -0,0 +1,16 @@
@EnumAnnotation("enum")
enum class MyEnumClass {
@Anno("implicit") @property:Anno("explicit") ENUM_ENTRY {
@Anno("init annotations") init {
@Expression("expression annotation") foo()
}
@FunAnno("fun")
fun foo(): @Anno("return type") A<@Anno("nested return type") B> {
}
@ErrorPlace("destructuring declaration")
val (@A("a") a, @B("b") b) = 1 to 2
}
}
@@ -0,0 +1,17 @@
FILE: enumEntryWithAnnotations.kt
@EnumAnnotation(LAZY_EXPRESSION) public? final? enum class MyEnumClass : R|kotlin/Enum<MyEnumClass>| {
private constructor(): R|MyEnumClass| {
LAZY_super<R|kotlin/Enum<MyEnumClass>|>
}
@Anno(LAZY_EXPRESSION) @PROPERTY:Anno(LAZY_EXPRESSION) public final static enum entry ENUM_ENTRY: R|MyEnumClass| = LAZY_EXPRESSION
public final static fun values(): R|kotlin/Array<MyEnumClass>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|MyEnumClass| {
}
public final static val entries: R|kotlin/enums/EnumEntries<MyEnumClass>|
public get(): R|kotlin/enums/EnumEntries<MyEnumClass>|
}
@@ -0,0 +1,32 @@
FILE: enumEntryWithAnnotations.kt
@EnumAnnotation(String(enum)) public? final? enum class MyEnumClass : R|kotlin/Enum<MyEnumClass>| {
private [ContainingClassKey=MyEnumClass] constructor(): R|MyEnumClass| {
super<R|kotlin/Enum<MyEnumClass>|>()
}
@Anno(String(implicit)) @PROPERTY:Anno(String(explicit)) public final static [ContainingClassKey=MyEnumClass] enum entry ENUM_ENTRY: R|MyEnumClass| = object : R|MyEnumClass| {
private [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
super<R|MyEnumClass|>()
}
@Anno(String(init annotations)) init {
@Expression(String(expression annotation)) foo#()
}
@FunAnno(String(fun)) public? final? fun foo(): @Anno(String(return type)) A<@Anno(String(nested return type)) B> {
}
<ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
}
public final static [ContainingClassKey=MyEnumClass] fun values(): R|kotlin/Array<MyEnumClass>| {
}
public final static [ContainingClassKey=MyEnumClass] fun valueOf(value: R|kotlin/String|): R|MyEnumClass| {
}
public final static [ContainingClassKey=MyEnumClass] val entries: R|kotlin/enums/EnumEntries<MyEnumClass>|
public get(): R|kotlin/enums/EnumEntries<MyEnumClass>|
}
@@ -0,0 +1,4 @@
@file:FileAnnotation("file annotation")
@file:[Annotation1("foo") Annotation2]
@WithouTarget("argument")
package one
@@ -0,0 +1,5 @@
FILE: fileAnnotations.kt
@FILE:FileAnnotation(LAZY_EXPRESSION)
@FILE:Annotation1(LAZY_EXPRESSION)
@FILE:Annotation2()
@WithouTarget(LAZY_EXPRESSION)
@@ -0,0 +1,5 @@
FILE: fileAnnotations.kt
@FILE:FileAnnotation(String(file annotation))
@FILE:Annotation1(String(foo))
@FILE:Annotation2()
@WithouTarget(String(argument))
@@ -0,0 +1,3 @@
@file:FileAnnotation("file annotation")
@file:[Annotation1("foo") Annotation2]
@WithouTarget("argument")
@@ -0,0 +1,5 @@
FILE: fileAnnotationsWithoutPackage.kt
@FILE:FileAnnotation(LAZY_EXPRESSION)
@FILE:Annotation1(LAZY_EXPRESSION)
@FILE:Annotation2()
@WithouTarget(LAZY_EXPRESSION) <DANGLING MODIFIER: Top level declaration expected>
@@ -0,0 +1,5 @@
FILE: fileAnnotationsWithoutPackage.kt
@FILE:FileAnnotation(String(file annotation))
@FILE:Annotation1(String(foo))
@FILE:Annotation2()
@WithouTarget(String(argument)) <DANGLING MODIFIER: Top level declaration expected>
@@ -0,0 +1,17 @@
package util
class A {
init {
class OuterIntoLocal {
fun doo() = foo()
fun foo() = bar()
fun baz() = foo()
}
class LocalIntoLocal {
fun foo() = bar()
fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null
fun foo2() = bar()
}
}
}
@@ -0,0 +1,9 @@
FILE: initWithLocalDeclarations.kt
public? final? class A : R|kotlin/Any| {
public? constructor(): R|util/A| {
LAZY_super<R|kotlin/Any|>
}
init { LAZY_BLOCK }
}
@@ -0,0 +1,48 @@
FILE: initWithLocalDeclarations.kt
public? final? class A : R|kotlin/Any| {
public? [ContainingClassKey=A] constructor(): R|util/A| {
super<R|kotlin/Any|>()
}
init {
local final? class OuterIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=OuterIntoLocal] constructor(): R|<local>/OuterIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun doo(): <implicit> {
^doo foo#()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun baz(): <implicit> {
^baz foo#()
}
}
local final? class LocalIntoLocal : R|kotlin/Any| {
public? [ContainingClassKey=LocalIntoLocal] constructor(): R|<local>/LocalIntoLocal| {
super<R|kotlin/Any|>()
}
public? final? fun foo(): <implicit> {
^foo bar#()
}
public? final? fun bar(): @Anno(<strcat>(String(bar ), prop#)) List<@Anno(<strcat>(String(nested bar ), prop#)) Collection<@Anno(<strcat>(String(nested nested bar ), prop#)) Int>>? {
^bar Null(null)
}
public? final? fun foo2(): <implicit> {
^foo2 bar#()
}
}
}
}
@@ -0,0 +1,167 @@
fun foo() {
@Anno1 val a = @Anno2 1
val b = @AnonymousFunction fun(@AnonymousParameter a: @AnonymousParameterType Int) {
@Anno foo()
}
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
}
}
}
@Anno
class Local : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno
class LocalNested : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno1 val a = @Anno2 1
val b = @AnonymousFunction fun(@AnonymousParameter a: @AnonymousParameterType Int) {
@Anno foo()
}
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
}
}
}
@Anno
class Local : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno
class LocalNested : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
}
@Fun
fun localMember(): @FunType Int {
@Anno1 val a = @Anno2 1
val b = @AnonymousFunction fun(@AnonymousParameter a: @AnonymousParameterType Int) {
@Anno foo()
}
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
}
}
}
@Anno
class Local : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno
class LocalNested : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
}
@Fun
fun localMember(): @FunType Int {
}
@Prop
@get:Getter
@set:Setter
@setparam:Parameter
var localProperty: @PropType String = 1
}
}
@Prop
@get:Getter
@set:Setter
@setparam:Parameter
var localProperty: @PropType String = 1
}
}
@Fun
fun localMember(): @FunType Int {
@Anno1 val a = @Anno2 1
val b = @AnonymousFunction fun(@AnonymousParameter a: @AnonymousParameterType Int) {
@Anno foo()
}
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
}
}
}
@Anno
class Local : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno
class LocalNested : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
}
@Fun
fun localMember(): @FunType Int {
}
val localProperty: @PropType String
get() {
@Anno1 val a = @Anno2 1
val b = @AnonymousFunction fun(@AnonymousParameter a: @AnonymousParameterType Int) {
@Anno foo()
}
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
@Anno
fun boo(@Anno a: @Anno Int): @Anno Int {
}
}
}
@Anno
class Local : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
@Anno
class LocalNested : @SuperType SuperClass<@NestedSuperType A<@NestedNestedSuperType B>>(), @SuperInterfaceType SuperInterface<@NestedSuperInterfaceType A<@NestedNestedSuperInterfaceType B>>, @SuperDelegateType SuperInterface<@NestedSuperDelegateType A<@NestedNestedSuperDelegateType B>> by Component {
}
@Fun
fun localMember(): @FunType Int {
}
@Prop
@get:Getter
@set:Setter
@setparam:Parameter
var localProperty: @PropType String = 1
}
}
}
}
@Prop
@get:Getter
@set:Setter
@setparam:Parameter
var localProperty: @PropType String = 1
}
}
@@ -0,0 +1,2 @@
FILE: localAnnotations.kt
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,202 @@
FILE: localAnnotations.kt
public? final? fun foo(): R|kotlin/Unit| {
@Anno1() lval a: <implicit> = @Anno2() IntegerLiteral(1)
lval b: <implicit> = @AnonymousFunction() fun <anonymous>(@AnonymousParameter() a: @AnonymousParameterType() Int): R|kotlin/Unit| <inline=Unknown> {
@Anno() foo#()
}
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
}
}
}
@Anno() local final? [DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.$$delegate_0}] class Local : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=Local] constructor(): R|<local>/Local| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno() local final? [ContainingClassKey=Local, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.$$delegate_0}] class LocalNested : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=LocalNested] constructor(): R|<local>/Local.LocalNested| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno1() public? final? val a: <implicit> = @Anno2() IntegerLiteral(1)
public? [ContainingClassKey=LocalNested] get(): <implicit>
public? final? val b: <implicit> = @AnonymousFunction() fun <anonymous>(@AnonymousParameter() a: @AnonymousParameterType() Int): R|kotlin/Unit| <inline=Unknown> {
@Anno() foo#()
}
public? [ContainingClassKey=LocalNested] get(): <implicit>
@Anno() public? final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
}
}
}
@Anno() local final? [ContainingClassKey=LocalNested, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.Local.$$delegate_0}] class Local : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=Local] constructor(): R|<local>/Local.LocalNested.Local| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno() local final? [ContainingClassKey=Local, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.Local.LocalNested.$$delegate_0}] class LocalNested : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=LocalNested] constructor(): R|<local>/Local.LocalNested.Local.LocalNested| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
}
@Fun() public? final? fun localMember(): @FunType() Int {
@Anno1() lval a: <implicit> = @Anno2() IntegerLiteral(1)
lval b: <implicit> = @AnonymousFunction() fun <anonymous>(@AnonymousParameter() a: @AnonymousParameterType() Int): R|kotlin/Unit| <inline=Unknown> {
@Anno() foo#()
}
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
}
}
}
@Anno() local final? [DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.$$delegate_0}] class Local : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=Local] constructor(): R|<local>/Local| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno() local final? [ContainingClassKey=Local, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.$$delegate_0}] class LocalNested : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=LocalNested] constructor(): R|<local>/Local.LocalNested| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
}
@Fun() public? final? fun localMember(): @FunType() Int {
}
@Prop() public? final? var localProperty: @PropType() String = IntegerLiteral(1)
@PROPERTY_GETTER:Getter() public? [ContainingClassKey=Local] get(): @PropType() String
@PROPERTY_SETTER:Setter() public? [ContainingClassKey=Local] set(@SETTER_PARAMETER:Parameter() value: @PropType() String): R|kotlin/Unit|
}
}
@Prop() public? final? var localProperty: @PropType() String = IntegerLiteral(1)
@PROPERTY_GETTER:Getter() public? [ContainingClassKey=Local] get(): @PropType() String
@PROPERTY_SETTER:Setter() public? [ContainingClassKey=Local] set(@SETTER_PARAMETER:Parameter() value: @PropType() String): R|kotlin/Unit|
}
}
@Fun() public? final? fun localMember(): @FunType() Int {
@Anno1() lval a: <implicit> = @Anno2() IntegerLiteral(1)
lval b: <implicit> = @AnonymousFunction() fun <anonymous>(@AnonymousParameter() a: @AnonymousParameterType() Int): R|kotlin/Unit| <inline=Unknown> {
@Anno() foo#()
}
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
}
}
}
@Anno() local final? [DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.$$delegate_0}] class Local : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=Local] constructor(): R|<local>/Local| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno() local final? [ContainingClassKey=Local, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.$$delegate_0}] class LocalNested : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=LocalNested] constructor(): R|<local>/Local.LocalNested| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
}
@Fun() public? final? fun localMember(): @FunType() Int {
}
public? final? val localProperty: @PropType() String
public? [ContainingClassKey=Local] get(): @PropType() String {
@Anno1() lval a: <implicit> = @Anno2() IntegerLiteral(1)
lval b: <implicit> = @AnonymousFunction() fun <anonymous>(@AnonymousParameter() a: @AnonymousParameterType() Int): R|kotlin/Unit| <inline=Unknown> {
@Anno() foo#()
}
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
@Anno() local final? fun boo(@Anno() a: @Anno() Int): @Anno() Int {
}
}
}
@Anno() local final? [DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.$$delegate_0}] class Local : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=Local] constructor(): R|<local>/Local| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
@Anno() local final? [ContainingClassKey=Local, DelegateFieldsMapKey={2=FirFieldSymbol <local>/Local.LocalNested.$$delegate_0}] class LocalNested : @SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>, @SuperInterfaceType() SuperInterface<@NestedSuperInterfaceType() A<@NestedNestedSuperInterfaceType() B>>, @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> {
public? [ContainingClassKey=LocalNested] constructor(): R|<local>/Local.LocalNested| {
super<@SuperType() SuperClass<@NestedSuperType() A<@NestedNestedSuperType() B>>>()
}
private final field $$delegate_0: @SuperDelegateType() SuperInterface<@NestedSuperDelegateType() A<@NestedNestedSuperDelegateType() B>> = Component#
}
@Fun() public? final? fun localMember(): @FunType() Int {
}
@Prop() public? final? var localProperty: @PropType() String = IntegerLiteral(1)
@PROPERTY_GETTER:Getter() public? [ContainingClassKey=Local] get(): @PropType() String
@PROPERTY_SETTER:Setter() public? [ContainingClassKey=Local] set(@SETTER_PARAMETER:Parameter() value: @PropType() String): R|kotlin/Unit|
}
}
}
}
@Prop() public? final? var localProperty: @PropType() String = IntegerLiteral(1)
@PROPERTY_GETTER:Getter() public? [ContainingClassKey=Local] get(): @PropType() String
@PROPERTY_SETTER:Setter() public? [ContainingClassKey=Local] set(@SETTER_PARAMETER:Parameter() value: @PropType() String): R|kotlin/Unit|
}
}
@@ -0,0 +1,17 @@
package second
fun check() {
class A {
val bar get() = B().foo
fun baz() = B().doo()
private inner class B {
var foo: @Anno(C::class) List<@Anno(C::class) Collection<@Anno(C::class) String>>? = null
fun doo(): @Anno(C::class) List<@Anno(C::class) Collection<@Anno(C::class) String>>? = null
private inner class C
}
}
val a = A().bar
val b = A().baz()
}
@@ -0,0 +1,2 @@
FILE: localImplicitType.kt
public? final? fun check(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,43 @@
FILE: localImplicitType.kt
public? final? fun check(): R|kotlin/Unit| {
local final? class A : R|kotlin/Any| {
public? [ContainingClassKey=A] constructor(): R|<local>/A| {
super<R|kotlin/Any|>()
}
public? final? val bar: <implicit>
public? [ContainingClassKey=A] get(): <implicit> {
^ B#().foo#
}
public? final? fun baz(): <implicit> {
^baz B#().doo#()
}
local final? inner [ContainingClassKey=A] class B : R|kotlin/Any| {
public? [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
super<R|kotlin/Any|>()
}
public? final? var foo: @Anno(<getClass>(C#)) List<@Anno(<getClass>(C#)) Collection<@Anno(<getClass>(C#)) String>>? = Null(null)
public? [ContainingClassKey=B] get(): @Anno(<getClass>(C#)) List<@Anno(<getClass>(C#)) Collection<@Anno(<getClass>(C#)) String>>?
public? [ContainingClassKey=B] set(value: @Anno(<getClass>(C#)) List<@Anno(<getClass>(C#)) Collection<@Anno(<getClass>(C#)) String>>?): R|kotlin/Unit|
public? final? fun doo(): @Anno(<getClass>(C#)) List<@Anno(<getClass>(C#)) Collection<@Anno(<getClass>(C#)) String>>? {
^doo Null(null)
}
local final? inner [ContainingClassKey=B] class C : R|kotlin/Any| {
public? [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
super<R|kotlin/Any|>()
}
}
}
}
lval a: <implicit> = A#().bar#
lval b: <implicit> = A#().baz#()
}
@@ -0,0 +1,16 @@
package util
fun foo(): Int {
val prop = "str"
@ForAnno("for anno $prop")
for (@ForParameter("for $prop") i in 1..100) {}
for (@ForParameter("second for $prop") (x, @NestedParam("destructuring in for $prop") y) in bar()) {}
withLambda { (@LeftLambda("lambda a $prop") a, @RightLambda("lambda b $prop") b) ->
}
@Destructuring("destr $prop")
val (@LeftDestructuring("a $prop") a, @RightDestructuring("b $prop") b) = Pair(0, 1)
return a + b
}
@@ -0,0 +1,2 @@
FILE: multiDeclarations.kt
public? final? fun foo(): Int { LAZY_BLOCK }
@@ -0,0 +1,41 @@
FILE: multiDeclarations.kt
public? final? fun foo(): Int {
lval prop: <implicit> = String(str)
@ForAnno(<strcat>(String(for anno ), prop#)) {
lval <iterator>: <implicit> = IntegerLiteral(1).rangeTo#(IntegerLiteral(100)).iterator#()
while(R|<local>/<iterator>|.hasNext#()) {
@ForParameter(<strcat>(String(for ), prop#)) lval i: <implicit> = R|<local>/<iterator>|.next#()
{
}
}
}
{
lval <iterator>: <implicit> = bar#().iterator#()
while(R|<local>/<iterator>|.hasNext#()) {
@ForParameter(<strcat>(String(second for ), prop#)) lval <destruct>: <implicit> = R|<local>/<iterator>|.next#()
lval x: <implicit> = R|<local>/<destruct>|.component1#()
@NestedParam(<strcat>(String(destructuring in for ), prop#)) lval y: <implicit> = R|<local>/<destruct>|.component2#()
{
}
}
}
withLambda#(<L> = withLambda@fun <implicit>.<anonymous>(<destruct>: <implicit>): <implicit> <inline=Unknown> {
@LeftLambda(<strcat>(String(lambda a ), prop#)) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightLambda(<strcat>(String(lambda b ), prop#)) lval b: <implicit> = R|<local>/<destruct>|.component2#()
{
^@withLambda Unit
}
}
)
@Destructuring(<strcat>(String(destr ), prop#)) lval <destruct>: <implicit> = Pair#(IntegerLiteral(0), IntegerLiteral(1))
@LeftDestructuring(<strcat>(String(a ), prop#)) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightDestructuring(<strcat>(String(b ), prop#)) lval b: <implicit> = R|<local>/<destruct>|.component2#()
^foo a#.plus#(b#)
}
@@ -0,0 +1,7 @@
package util
@DestrAnno("destr 1 $prop")
val (@LeftAnno("a $prop") a, @RightAnno("b $prop") b) = 0 to 1
@Destr2Anno("destr 1 $prop")
val (@SecondLeftAnno("c $prop") c, @SecondRightAnno("d $prop") d) = 2 to 3
@@ -0,0 +1,15 @@
FILE: scriptLevelDestructuringWithAnnotation.kts
SCRIPT: <script-scriptLevelDestructuringWithAnnotation.kts>
@DestrAnno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(LAZY_EXPRESSION) public final val a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(LAZY_EXPRESSION) public final val b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(LAZY_EXPRESSION) public final val c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(LAZY_EXPRESSION) public final val d: <implicit> = R|<local>/<destruct>|.component2#()
@@ -0,0 +1,15 @@
FILE: scriptLevelDestructuringWithAnnotation.kts
SCRIPT: <script-scriptLevelDestructuringWithAnnotation.kts>
@DestrAnno(<strcat>(String(destr 1 ), prop#)) [DestructuringDeclarationContainerVariableMarkerKey=true] lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(<strcat>(String(a ), prop#)) public final [DestructuringDeclarationContainerVariableKey=<local>/<destruct>] val a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(<strcat>(String(b ), prop#)) public final [DestructuringDeclarationContainerVariableKey=<local>/<destruct>] val b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(<strcat>(String(destr 1 ), prop#)) [DestructuringDeclarationContainerVariableMarkerKey=true] lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(<strcat>(String(c ), prop#)) public final [DestructuringDeclarationContainerVariableKey=<local>/<destruct>] val c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(<strcat>(String(d ), prop#)) public final [DestructuringDeclarationContainerVariableKey=<local>/<destruct>] val d: <implicit> = R|<local>/<destruct>|.component2#()
@@ -0,0 +1,11 @@
package util
if (true) {
@DestrAnno("destr 1 $prop")
val (@LeftAnno("a $prop") a, @RightAnno("b $prop") b) = 0 to 1
@Destr2Anno("destr 1 $prop")
val (@SecondLeftAnno("c $prop") c, @SecondRightAnno("d $prop") d) = 2 to 3
}
fun foo() {}
@@ -0,0 +1,15 @@
FILE: scriptStatementLevelDestructuringWithAnnotation.kts
SCRIPT: <script-scriptStatementLevelDestructuringWithAnnotation.kts>
when () {
Boolean(true) -> {
@DestrAnno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(LAZY_EXPRESSION) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(LAZY_EXPRESSION) lval b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(LAZY_EXPRESSION) lval c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(LAZY_EXPRESSION) lval d: <implicit> = R|<local>/<destruct>|.component2#()
}
}
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,16 @@
FILE: scriptStatementLevelDestructuringWithAnnotation.kts
SCRIPT: <script-scriptStatementLevelDestructuringWithAnnotation.kts>
when () {
Boolean(true) -> {
@DestrAnno(<strcat>(String(destr 1 ), prop#)) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(<strcat>(String(a ), prop#)) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(<strcat>(String(b ), prop#)) lval b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(<strcat>(String(destr 1 ), prop#)) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(<strcat>(String(c ), prop#)) lval c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(<strcat>(String(d ), prop#)) lval d: <implicit> = R|<local>/<destruct>|.component2#()
}
}
public? final? fun foo(): R|kotlin/Unit| {
}
@@ -0,0 +1,9 @@
package util
if (true) {
@DestrAnno("destr 1 $prop")
val (@LeftAnno("a $prop") a, @RightAnno("b $prop") b) = 0 to 1
@Destr2Anno("destr 1 $prop")
val (@SecondLeftAnno("c $prop") c, @SecondRightAnno("d $prop") d) = 2 to 3
}
@@ -0,0 +1,13 @@
FILE: scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
SCRIPT: <script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
when () {
Boolean(true) -> {
@DestrAnno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(LAZY_EXPRESSION) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(LAZY_EXPRESSION) lval b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(LAZY_EXPRESSION) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(LAZY_EXPRESSION) lval c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(LAZY_EXPRESSION) lval d: <implicit> = R|<local>/<destruct>|.component2#()
}
}
@@ -0,0 +1,13 @@
FILE: scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
SCRIPT: <script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
when () {
Boolean(true) -> {
@DestrAnno(<strcat>(String(destr 1 ), prop#)) lval <destruct>: <implicit> = IntegerLiteral(0).to#(IntegerLiteral(1))
@LeftAnno(<strcat>(String(a ), prop#)) lval a: <implicit> = R|<local>/<destruct>|.component1#()
@RightAnno(<strcat>(String(b ), prop#)) lval b: <implicit> = R|<local>/<destruct>|.component2#()
@Destr2Anno(<strcat>(String(destr 1 ), prop#)) lval <destruct>: <implicit> = IntegerLiteral(2).to#(IntegerLiteral(3))
@SecondLeftAnno(<strcat>(String(c ), prop#)) lval c: <implicit> = R|<local>/<destruct>|.component1#()
@SecondRightAnno(<strcat>(String(d ), prop#)) lval d: <implicit> = R|<local>/<destruct>|.component2#()
}
}
@@ -0,0 +1,14 @@
package util
@Target(AnnotationTarget.TYPE)
annotation class Anno(val position: String)
const val prop = "str"
abstract class AbstractClass<T>
class MyClass : @Anno("super type call $prop") AbstractClass<@Anno("nested super type ref $prop") List<@Anno("nested nested super type ref $prop") Int>> {
constructor(): super() {
}
}
@@ -0,0 +1,22 @@
FILE: secondaryConstructor.kt
@Target(LAZY_EXPRESSION) public? final? annotation class Anno : R|kotlin/Annotation| {
public? constructor(position: String): R|util/Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? val position: String = R|<local>/position|
public? get(): String
}
public? final? const val prop: <implicit> = LAZY_EXPRESSION
public? get(): <implicit>
public? abstract class AbstractClass<T> : R|kotlin/Any| {
public? constructor<T>(): R|util/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? class MyClass : @Anno(LAZY_EXPRESSION) AbstractClass<@Anno(LAZY_EXPRESSION) List<@Anno(LAZY_EXPRESSION) Int>> {
public? constructor(): R|util/MyClass| { LAZY_BLOCK }
}
@@ -0,0 +1,24 @@
FILE: secondaryConstructor.kt
@Target(AnnotationTarget#.TYPE#) public? final? annotation class Anno : R|kotlin/Annotation| {
public? [ContainingClassKey=Anno] constructor([CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ContainingClassKey=Anno] get(): String
}
public? final? const val prop: <implicit> = String(str)
public? get(): <implicit>
public? abstract class AbstractClass<T> : R|kotlin/Any| {
public? [ContainingClassKey=AbstractClass] constructor<T>(): R|util/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
}
public? final? class MyClass : @Anno(<strcat>(String(super type call ), prop#)) AbstractClass<@Anno(<strcat>(String(nested super type ref ), prop#)) List<@Anno(<strcat>(String(nested nested super type ref ), prop#)) Int>> {
public? [ContainingClassKey=MyClass] constructor(): R|util/MyClass| {
super<<implicit>>()
}
}
@@ -0,0 +1,4 @@
package util
@Destructuring("destr $prop")
val (@LeftAnno("a $prop") a, @RightAnno("b $prop") b) = Pair(0, 1)
@@ -0,0 +1,2 @@
FILE: topLevelDestructuringWithAnnotation.kt
<ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
@@ -0,0 +1,2 @@
FILE: topLevelDestructuringWithAnnotation.kt
<ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
@@ -56,6 +56,16 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnProperty.kt");
}
@TestMetadata("annotationOnSuperType.kt")
public void testAnnotationOnSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperType.kt");
}
@TestMetadata("annotationOnSuperTypeCall.kt")
public void testAnnotationOnSuperTypeCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperTypeCall.kt");
}
@TestMetadata("annotationsOnNullableParenthesizedTypes.kt")
public void testAnnotationsOnNullableParenthesizedTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.kt");
@@ -66,6 +76,16 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.kt");
}
@TestMetadata("anonymousObjectWithAnnotation.kt")
public void testAnonymousObjectWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/anonymousObjectWithAnnotation.kt");
}
@TestMetadata("classLevelDestructuringWithAnnotation.kt")
public void testClassLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("classWithWrongSuperCall.kt")
public void testClassWithWrongSuperCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classWithWrongSuperCall.kt");
@@ -86,6 +106,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@TestMetadata("constructorWithLocalDeclarations.kt")
public void testConstructorWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorWithLocalDeclarations.kt");
}
@TestMetadata("contextReceivers.kt")
public void testContextReceivers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.kt");
@@ -101,11 +126,31 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsFileLevel.kt");
}
@TestMetadata("danglingConstrants.kt")
public void testDanglingConstrants() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingConstrants.kt");
}
@TestMetadata("dataClassWithAnnotations.kt")
public void testDataClassWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/dataClassWithAnnotations.kt");
}
@TestMetadata("delegatedFieldNestedName.kt")
public void testDelegatedFieldNestedName() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatedFieldNestedName.kt");
}
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt");
}
@TestMetadata("delegatesWithAnnotations.kt")
public void testDelegatesWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatesWithAnnotations.kt");
}
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt");
@@ -116,6 +161,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@TestMetadata("enumEntryWithAnnotations.kt")
public void testEnumEntryWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enumEntryWithAnnotations.kt");
}
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.kt");
@@ -166,6 +216,16 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@TestMetadata("fileAnnotations.kt")
public void testFileAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotations.kt");
}
@TestMetadata("fileAnnotationsWithoutPackage.kt")
public void testFileAnnotationsWithoutPackage() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotationsWithoutPackage.kt");
}
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/functionTypes.kt");
@@ -191,6 +251,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.kt");
}
@TestMetadata("initWithLocalDeclarations.kt")
public void testInitWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initWithLocalDeclarations.kt");
}
@TestMetadata("invalidDestructing.kt")
public void testInvalidDestructing() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt");
@@ -206,11 +271,26 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/kotlinAnyNonTopLevel.kt");
}
@TestMetadata("localAnnotations.kt")
public void testLocalAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localAnnotations.kt");
}
@TestMetadata("localDeclarationsInEnumEntry.kt")
public void testLocalDeclarationsInEnumEntry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt");
}
@TestMetadata("localImplicitType.kt")
public void testLocalImplicitType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localImplicitType.kt");
}
@TestMetadata("multiDeclarations.kt")
public void testMultiDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/multiDeclarations.kt");
}
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");
@@ -246,6 +326,26 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/script.kts");
}
@TestMetadata("scriptLevelDestructuringWithAnnotation.kts")
public void testScriptLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptLevelDestructuringWithAnnotation.kts");
}
@TestMetadata("scriptStatementLevelDestructuringWithAnnotation.kts")
public void testScriptStatementLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptStatementLevelDestructuringWithAnnotation.kts");
}
@TestMetadata("scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts")
public void testScriptStatementLevelDestructuringWithAnnotationAsLastStatement() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts");
}
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/secondaryConstructor.kt");
}
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.kt");
@@ -271,6 +371,11 @@ public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuil
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/suspendFunctionTypes.kt");
}
@TestMetadata("topLevelDestructuringWithAnnotation.kt")
public void testTopLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/topLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.kt");
@@ -56,6 +56,16 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnProperty.kt");
}
@TestMetadata("annotationOnSuperType.kt")
public void testAnnotationOnSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperType.kt");
}
@TestMetadata("annotationOnSuperTypeCall.kt")
public void testAnnotationOnSuperTypeCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnSuperTypeCall.kt");
}
@TestMetadata("annotationsOnNullableParenthesizedTypes.kt")
public void testAnnotationsOnNullableParenthesizedTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnNullableParenthesizedTypes.kt");
@@ -66,6 +76,16 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationsOnParenthesizedTypes.kt");
}
@TestMetadata("anonymousObjectWithAnnotation.kt")
public void testAnonymousObjectWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/anonymousObjectWithAnnotation.kt");
}
@TestMetadata("classLevelDestructuringWithAnnotation.kt")
public void testClassLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("classWithWrongSuperCall.kt")
public void testClassWithWrongSuperCall() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classWithWrongSuperCall.kt");
@@ -86,6 +106,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@TestMetadata("constructorWithLocalDeclarations.kt")
public void testConstructorWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorWithLocalDeclarations.kt");
}
@TestMetadata("contextReceivers.kt")
public void testContextReceivers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contextReceivers.kt");
@@ -101,11 +126,31 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingAnnotationsFileLevel.kt");
}
@TestMetadata("danglingConstrants.kt")
public void testDanglingConstrants() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/danglingConstrants.kt");
}
@TestMetadata("dataClassWithAnnotations.kt")
public void testDataClassWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/dataClassWithAnnotations.kt");
}
@TestMetadata("delegatedFieldNestedName.kt")
public void testDelegatedFieldNestedName() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatedFieldNestedName.kt");
}
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegates.kt");
}
@TestMetadata("delegatesWithAnnotations.kt")
public void testDelegatesWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/delegatesWithAnnotations.kt");
}
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt");
@@ -116,6 +161,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@TestMetadata("enumEntryWithAnnotations.kt")
public void testEnumEntryWithAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enumEntryWithAnnotations.kt");
}
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.kt");
@@ -166,6 +216,16 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@TestMetadata("fileAnnotations.kt")
public void testFileAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotations.kt");
}
@TestMetadata("fileAnnotationsWithoutPackage.kt")
public void testFileAnnotationsWithoutPackage() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/fileAnnotationsWithoutPackage.kt");
}
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/functionTypes.kt");
@@ -191,6 +251,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initBlockWithDeclarations.kt");
}
@TestMetadata("initWithLocalDeclarations.kt")
public void testInitWithLocalDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/initWithLocalDeclarations.kt");
}
@TestMetadata("invalidDestructing.kt")
public void testInvalidDestructing() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/invalidDestructing.kt");
@@ -206,11 +271,26 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/kotlinAnyNonTopLevel.kt");
}
@TestMetadata("localAnnotations.kt")
public void testLocalAnnotations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localAnnotations.kt");
}
@TestMetadata("localDeclarationsInEnumEntry.kt")
public void testLocalDeclarationsInEnumEntry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localDeclarationsInEnumEntry.kt");
}
@TestMetadata("localImplicitType.kt")
public void testLocalImplicitType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/localImplicitType.kt");
}
@TestMetadata("multiDeclarations.kt")
public void testMultiDeclarations() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/multiDeclarations.kt");
}
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");
@@ -246,6 +326,26 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/script.kts");
}
@TestMetadata("scriptLevelDestructuringWithAnnotation.kts")
public void testScriptLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptLevelDestructuringWithAnnotation.kts");
}
@TestMetadata("scriptStatementLevelDestructuringWithAnnotation.kts")
public void testScriptStatementLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptStatementLevelDestructuringWithAnnotation.kts");
}
@TestMetadata("scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts")
public void testScriptStatementLevelDestructuringWithAnnotationAsLastStatement() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts");
}
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/secondaryConstructor.kt");
}
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.kt");
@@ -271,6 +371,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/suspendFunctionTypes.kt");
}
@TestMetadata("topLevelDestructuringWithAnnotation.kt")
public void testTopLevelDestructuringWithAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/topLevelDestructuringWithAnnotation.kt");
}
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.kt");