[LL FIR] render type parameters resolve phase in tests
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
class ResolveMe<T : Int, K>()
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
|
||||
RAW_FIR:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IMPORTS:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [COMPANION_GENERATION] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [COMPANION_GENERATION] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [SUPER_TYPES] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [SUPER_TYPES] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
TYPES:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public? final? [TYPES] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public? [TYPES] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
STATUS:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [STATUS] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public [STATUS] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CONTRACTS:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [CONTRACTS] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public [CONTRACTS] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [EXPECT_ACTUAL_MATCHING] class ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> : R|kotlin/Any| {
|
||||
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] class ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> : R|kotlin/Any| {
|
||||
public [BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: classWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] class ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> : R|kotlin/Any| {
|
||||
public [BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K>(): R|ResolveMe<T, K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun <T : Int, K> resolveMe() {}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
|
||||
RAW_FIR:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [COMPANION_GENERATION] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [SUPER_TYPES] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public? final? [TYPES] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [STATUS] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [CONTRACTS] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> resolveMe(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: functionWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> resolveMe(): R|kotlin/Unit| {
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
val <T : Int, K> T.resolveMe: K
|
||||
get() = TODO()
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
|
||||
RAW_FIR:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K
|
||||
public? [RAW_FIR] get(): K { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [RAW_FIR] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K
|
||||
public? [RAW_FIR] get(): K { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K
|
||||
public? [COMPILER_REQUIRED_ANNOTATIONS] get(): K { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [COMPANION_GENERATION] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K
|
||||
public? [COMPANION_GENERATION] get(): K { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [SUPER_TYPES] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K
|
||||
public? [SUPER_TYPES] get(): K { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public? final? [TYPES] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public? [TYPES] get(): R|K| { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [STATUS] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public [STATUS] get(): R|K| { LAZY_BLOCK }
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public [ARGUMENTS_OF_ANNOTATIONS] get(): R|K| { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [CONTRACTS] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public [CONTRACTS] get(): R|K| {
|
||||
^ TODO#()
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public [IMPLICIT_TYPES_BODY_RESOLVE] get(): R|K| {
|
||||
^ TODO#()
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [EXPECT_ACTUAL_MATCHING] val <[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> R|T|.resolveMe: R|K|
|
||||
public [EXPECT_ACTUAL_MATCHING] get(): R|K| {
|
||||
^ TODO#()
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] val <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> R|T|.resolveMe: R|K|
|
||||
public [BODY_RESOLVE] get(): R|K| {
|
||||
^ R|kotlin/TODO|()
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: propertyWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] val <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> R|T|.resolveMe: R|K|
|
||||
public [BODY_RESOLVE] get(): R|K| {
|
||||
^ R|kotlin/TODO|()
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
typealias ResolveMe<T : Int, K> = Map<T, K>
|
||||
Vendored
+52
@@ -0,0 +1,52 @@
|
||||
|
||||
RAW_FIR:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [RAW_FIR] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map<T, K>
|
||||
|
||||
IMPORTS:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [RAW_FIR] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map<T, K>
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [COMPILER_REQUIRED_ANNOTATIONS] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map<T, K>
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [COMPANION_GENERATION] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map<T, K>
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [SUPER_TYPES] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
TYPES:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public? final [TYPES] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
STATUS:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [STATUS] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
CONTRACTS:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [CONTRACTS] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [EXPECT_ACTUAL_MATCHING] typealias ResolveMe<[RAW_FIR] T : R|kotlin/Int|, [RAW_FIR] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] typealias ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> = R|kotlin/collections/Map<T, K>|
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: typeAliasWithTypeParameters.kt
|
||||
public final [BODY_RESOLVE] typealias ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> = R|kotlin/collections/Map<T, K>|
|
||||
+13
-13
@@ -6,7 +6,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [RAW_FIR] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [RAW_FIR] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [COMPANION_GENERATION] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [COMPANION_GENERATION] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [SUPER_TYPES] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [SUPER_TYPES] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? [TYPES] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [TYPES] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [STATUS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [STATUS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [CONTRACTS] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [CONTRACTS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -106,7 +106,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -118,7 +118,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -130,7 +130,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -142,7 +142,7 @@ FILE: typeParameterOfNonLocalFunction.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+13
-13
@@ -1,57 +1,57 @@
|
||||
|
||||
RAW_FIR:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [RAW_FIR] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [RAW_FIR] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [COMPANION_GENERATION] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [COMPANION_GENERATION] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [SUPER_TYPES] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [SUPER_TYPES] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public? final? [TYPES] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public? final? [TYPES] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [STATUS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [STATUS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun <resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [CONTRACTS] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [CONTRACTS] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: typeParameterOfTopFunction.kt
|
||||
public final [BODY_RESOLVE] fun <resolveMe> ddd(): R|kotlin/Unit| {
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
public final inner [BODY_RESOLVE] class ONAIR<T> : R|X.BASE| {
|
||||
public final inner [BODY_RESOLVE] class ONAIR<[RAW_FIR] T> : R|X.BASE| {
|
||||
public [BODY_RESOLVE] X<T>.constructor(): R|X.ONAIR<T>| {
|
||||
super<R|X.BASE|>()
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
public final [BODY_RESOLVE] fun <K> niewbe([BODY_RESOLVE] a: R|kotlin/Char|, [BODY_RESOLVE] b: R|kotlin/Double|): R|kotlin/String| {
|
||||
public final [BODY_RESOLVE] fun <[BODY_RESOLVE] K> niewbe([BODY_RESOLVE] a: R|kotlin/Char|, [BODY_RESOLVE] b: R|kotlin/Double|): R|kotlin/String| {
|
||||
^niewbe String(Trololo)
|
||||
}
|
||||
|
||||
+2
-1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.assertions
|
||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.decapitalizeAsciiOnly
|
||||
import org.junit.jupiter.api.parallel.Execution
|
||||
import org.junit.jupiter.api.parallel.ExecutionMode
|
||||
|
||||
@@ -39,7 +40,7 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle
|
||||
override fun visitElement(element: FirElement) {
|
||||
if (result != null) return
|
||||
val declaration = element.realPsi as? KtDeclaration
|
||||
if (element is FirDeclaration && declaration != null && declaration.name == "resolveMe") {
|
||||
if (element is FirDeclaration && declaration != null && declaration.name?.decapitalizeAsciiOnly() == "resolveMe") {
|
||||
result = element
|
||||
return
|
||||
}
|
||||
|
||||
+64
@@ -137,4 +137,68 @@ public class FirLazyDeclarationResolveTestGenerated extends AbstractFirLazyDecla
|
||||
public void testTypeParameterOfTopSetter() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopSetter.kt");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("analysis/low-level-api-fir/testdata/lazyResolve/classes")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Classes {
|
||||
@Test
|
||||
public void testAllFilesPresentInClasses() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/lazyResolve/classes"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("classWithTypeParameters.kt")
|
||||
public void testClassWithTypeParameters() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/classes/classWithTypeParameters.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("analysis/low-level-api-fir/testdata/lazyResolve/functions")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Functions {
|
||||
@Test
|
||||
public void testAllFilesPresentInFunctions() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/lazyResolve/functions"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("functionWithTypeParameters.kt")
|
||||
public void testFunctionWithTypeParameters() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithTypeParameters.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("analysis/low-level-api-fir/testdata/lazyResolve/properties")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Properties {
|
||||
@Test
|
||||
public void testAllFilesPresentInProperties() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/lazyResolve/properties"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("propertyWithTypeParameters.kt")
|
||||
public void testPropertyWithTypeParameters() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/properties/propertyWithTypeParameters.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestMetadata("analysis/low-level-api-fir/testdata/lazyResolve/typeAliases")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class TypeAliases {
|
||||
@Test
|
||||
public void testAllFilesPresentInTypeAliases() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/lazyResolve/typeAliases"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeAliasWithTypeParameters.kt")
|
||||
public void testTypeAliasWithTypeParameters() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/typeAliases/typeAliasWithTypeParameters.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -390,6 +390,7 @@ class FirRenderer(
|
||||
override fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
||||
annotationRenderer?.render(typeParameter)
|
||||
modifierRenderer.renderModifiers(typeParameter)
|
||||
resolvePhaseRenderer?.render(typeParameter)
|
||||
typeParameter.variance.renderVariance()
|
||||
print(typeParameter.name)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user