[Analysis API] add tests on incomplete function type parameter symbol

^KT-65858 Obsolete
This commit is contained in:
Dmitrii Gridin
2024-03-04 16:58:56 +01:00
committed by Space Team
parent ca740b70f3
commit 1ba81fca57
16 changed files with 199 additions and 0 deletions
@@ -387,6 +387,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerated ext
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/anonymousObjectInInvalidPosition.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParameter.kt")
public void testIncompleteFunctionTypeParameter() {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/incompleteFunctionTypeParameter.kt");
}
@Test
@TestMetadata("objectWithTypeArgsAsExpression.kt")
public void testObjectWithTypeArgsAsExpression() {
@@ -387,6 +387,12 @@ public class FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerated exte
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/anonymousObjectInInvalidPosition.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParameter.kt")
public void testIncompleteFunctionTypeParameter() {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/incompleteFunctionTypeParameter.kt");
}
@Test
@TestMetadata("objectWithTypeArgsAsExpression.kt")
public void testObjectWithTypeArgsAsExpression() {
@@ -387,6 +387,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerat
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/anonymousObjectInInvalidPosition.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParameter.kt")
public void testIncompleteFunctionTypeParameter() {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/errors/incompleteFunctionTypeParameter.kt");
}
@Test
@TestMetadata("objectWithTypeArgsAsExpression.kt")
public void testObjectWithTypeArgsAsExpression() {
@@ -0,0 +1,2 @@
// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE
fun <TY<caret>PE>
@@ -0,0 +1,11 @@
KtTypeParameterSymbol:
annotationsList: []
isReified: false
name: TYPE
origin: SOURCE
typeParameters: []
upperBounds: []
variance: INVARIANT
getContainingFileSymbol: KtFileSymbol(incompleteFunctionTypeParameter.kt)
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1 @@
fun< <expr>T</expr> >
@@ -0,0 +1,10 @@
KT element: KtTypeParameter
FIR element: FirTypeParameterImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
[ResolvedTo(BODY_RESOLVE)] T
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParemeter.kt
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T> <no name provided>(): R|kotlin/Unit|
@@ -0,0 +1,3 @@
fun <TY<caret>PE> foo(a: Int) {
}
@@ -0,0 +1,61 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] functionTypeParameter.kt
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] TYPE> foo([ResolvedTo(RAW_FIR)] a: Int): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] TYPE> foo([ResolvedTo(RAW_FIR)] a: Int): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] TYPE> foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] a: Int): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun <[ResolvedTo(COMPANION_GENERATION)] TYPE> foo([ResolvedTo(COMPANION_GENERATION)] a: Int): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun <[ResolvedTo(SUPER_TYPES)] TYPE> foo([ResolvedTo(SUPER_TYPES)] a: Int): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public? final? [ResolvedTo(TYPES)] fun <[ResolvedTo(TYPES)] TYPE> foo([ResolvedTo(TYPES)] a: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(STATUS)] fun <[ResolvedTo(STATUS)] TYPE> foo([ResolvedTo(STATUS)] a: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] TYPE> foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] a: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] TYPE> foo([ResolvedTo(CONTRACTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] TYPE> foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
CONSTANT_EVALUATION:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(CONSTANT_EVALUATION)] fun <[ResolvedTo(CONSTANT_EVALUATION)] TYPE> foo([ResolvedTo(CONSTANT_EVALUATION)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <[ResolvedTo(ANNOTATION_ARGUMENTS)] TYPE> foo([ResolvedTo(ANNOTATION_ARGUMENTS)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] functionTypeParameter.kt
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] TYPE> foo([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] functionTypeParameter.kt
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] TYPE> foo([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/Int|): R|kotlin/Unit| {
}
@@ -0,0 +1 @@
fun <TY<caret>PE>
@@ -0,0 +1,55 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] TYPE> <no name provided>(): R|kotlin/Unit|
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] TYPE> <no name provided>(): R|kotlin/Unit|
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] TYPE> <no name provided>(): R|kotlin/Unit|
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(COMPANION_GENERATION)] fun <[ResolvedTo(COMPANION_GENERATION)] TYPE> <no name provided>(): R|kotlin/Unit|
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(SUPER_TYPES)] fun <[ResolvedTo(SUPER_TYPES)] TYPE> <no name provided>(): R|kotlin/Unit|
TYPES:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public? final? [ResolvedTo(TYPES)] fun <[ResolvedTo(TYPES)] TYPE> <no name provided>(): R|kotlin/Unit|
STATUS:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(STATUS)] fun <[ResolvedTo(STATUS)] TYPE> <no name provided>(): R|kotlin/Unit|
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] TYPE> <no name provided>(): R|kotlin/Unit|
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] TYPE> <no name provided>(): R|kotlin/Unit|
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] TYPE> <no name provided>(): R|kotlin/Unit|
CONSTANT_EVALUATION:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(CONSTANT_EVALUATION)] fun <[ResolvedTo(CONSTANT_EVALUATION)] TYPE> <no name provided>(): R|kotlin/Unit|
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <[ResolvedTo(ANNOTATION_ARGUMENTS)] TYPE> <no name provided>(): R|kotlin/Unit|
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] TYPE> <no name provided>(): R|kotlin/Unit|
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] incompleteFunctionTypeParameter.kt
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] TYPE> <no name provided>(): R|kotlin/Unit|
@@ -909,6 +909,12 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/functionParameter.kt");
}
@Test
@TestMetadata("functionTypeParameter.kt")
public void testFunctionTypeParameter() {
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/functionTypeParameter.kt");
}
@Test
@TestMetadata("functionWithGenericExpectedTypeInside.kt")
public void testFunctionWithGenericExpectedTypeInside() {
@@ -951,6 +957,12 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParameter.kt")
public void testIncompleteFunctionTypeParameter() {
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/incompleteFunctionTypeParameter.kt");
}
@Test
@TestMetadata("javaAnnotationWithDefaultValueForenumArray.kt")
public void testJavaAnnotationWithDefaultValueForenumArray() {
@@ -909,6 +909,12 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/functionParameter.kt");
}
@Test
@TestMetadata("functionTypeParameter.kt")
public void testFunctionTypeParameter() {
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/functionTypeParameter.kt");
}
@Test
@TestMetadata("functionWithGenericExpectedTypeInside.kt")
public void testFunctionWithGenericExpectedTypeInside() {
@@ -951,6 +957,12 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParameter.kt")
public void testIncompleteFunctionTypeParameter() {
runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/incompleteFunctionTypeParameter.kt");
}
@Test
@TestMetadata("javaAnnotationWithDefaultValueForenumArray.kt")
public void testJavaAnnotationWithDefaultValueForenumArray() {
@@ -1335,6 +1335,12 @@ public class OutOfContentRootGetOrBuildFirTestGenerated extends AbstractOutOfCon
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/getter.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParemeter.kt")
public void testIncompleteFunctionTypeParemeter() {
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/incompleteFunctionTypeParemeter.kt");
}
@Test
@TestMetadata("lambdaAsSAMInterfaceWithAnnotation.kt")
public void testLambdaAsSAMInterfaceWithAnnotation() {
@@ -1335,6 +1335,12 @@ public class SourceGetOrBuildFirTestGenerated extends AbstractSourceGetOrBuildFi
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/getter.kt");
}
@Test
@TestMetadata("incompleteFunctionTypeParemeter.kt")
public void testIncompleteFunctionTypeParemeter() {
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/incompleteFunctionTypeParemeter.kt");
}
@Test
@TestMetadata("lambdaAsSAMInterfaceWithAnnotation.kt")
public void testLambdaAsSAMInterfaceWithAnnotation() {