[LL FIR] add lazy resolution tests on 'where' construction
^KT-62691
This commit is contained in:
committed by
Space Team
parent
f2a2c28ac9
commit
35567d453b
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtAnnotationEntry
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Anno(val s: String)
|
||||
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
fun <T> foo(t: T) where T : One, T : <expr>@Anno("str")</expr> Two = t
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
KT element: KtAnnotationEntry
|
||||
FIR element: FirAnnotationCallImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
@R|Anno|[Types](s = String(str))
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// LOOK_UP_FOR_ELEMENT_OF_TYPE: KtAnnotationEntry
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Anno(val s: String)
|
||||
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
val <T> T.foo where T : One, T : <expr>@Anno("str")</expr> Two get() = this
|
||||
Vendored
+26
@@ -0,0 +1,26 @@
|
||||
KT element: KtAnnotationEntry
|
||||
FIR element: FirAnnotationCallImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
@R|Anno|[Types](s = String(str))
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
fun <T> foo(t: T) where T : One, T : <expr>Two</expr> = t
|
||||
@@ -0,0 +1,16 @@
|
||||
KT element: KtTypeReference
|
||||
FIR element: FirResolvedTypeRefImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
R|Two|
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] whereFunction.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
val <T> T.foo where T : One, T : <expr>Two</expr> get() = this
|
||||
@@ -0,0 +1,17 @@
|
||||
KT element: KtTypeReference
|
||||
FIR element: FirResolvedTypeRefImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
R|Two|
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] whereProperty.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Anno(val s: String)
|
||||
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
fun <T> f<caret>oo(t: T) where T : One, T : @Anno("str") Two = t
|
||||
+228
@@ -0,0 +1,228 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] annotationInsideWhereFunction.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> foo([ResolvedTo(RAW_FIR)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> foo([ResolvedTo(RAW_FIR)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPANION_GENERATION)] fun <[ResolvedTo(COMPANION_GENERATION)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> foo([ResolvedTo(COMPANION_GENERATION)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(SUPER_TYPES)] fun <[ResolvedTo(SUPER_TYPES)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> foo([ResolvedTo(SUPER_TYPES)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(TYPES)] fun <[ResolvedTo(TYPES)] T : R|One|, R|@R|Anno|(String(str)) Two|> foo([ResolvedTo(TYPES)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] fun <[ResolvedTo(STATUS)] T : R|One|, R|@R|Anno|(String(str)) Two|> foo([ResolvedTo(STATUS)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|One|, R|@R|Anno|(String(str)) Two|> foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T : R|One|, R|@R|Anno|(String(str)) Two|> foo([ResolvedTo(CONTRACTS)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|One|, R|@R|Anno|(String(str)) Two|> foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <[ResolvedTo(ANNOTATION_ARGUMENTS)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> foo([ResolvedTo(ANNOTATION_ARGUMENTS)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] annotationInsideWhereFunction.kt
|
||||
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Anno(val s: String)
|
||||
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
val <T> T.fo<caret>o where T : One, T : @Anno("str") Two get() = this
|
||||
+243
@@ -0,0 +1,243 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] annotationInsideWhereProperty.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] val <[ResolvedTo(RAW_FIR)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] val <[ResolvedTo(RAW_FIR)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPANION_GENERATION)] val <[ResolvedTo(COMPANION_GENERATION)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(COMPANION_GENERATION)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(SUPER_TYPES)] val <[ResolvedTo(SUPER_TYPES)] T : One, @Anno[Unresolved](LAZY_EXPRESSION) Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(SUPER_TYPES)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(TYPES)] val <[ResolvedTo(TYPES)] T : R|One|, R|@R|Anno|(String(str)) Two|> R|T|.foo: <implicit>
|
||||
public? [ResolvedTo(TYPES)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] val <[ResolvedTo(STATUS)] T : R|One|, R|@R|Anno|(String(str)) Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(STATUS)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|One|, R|@R|Anno|(String(str)) Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(CONTRACTS)] val <[ResolvedTo(CONTRACTS)] T : R|One|, R|@R|Anno|(String(str)) Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(CONTRACTS)] get(): <implicit> {
|
||||
^ this#
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.s] s: String): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|<local>/s|
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|One|, R|@R|Anno|(String(str)) Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val <[ResolvedTo(ANNOTATION_ARGUMENTS)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] annotationInsideWhereProperty.kt
|
||||
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/Anno.s] s: R|kotlin/String|): R|Anno| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|<local>/s|
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String|
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|@R|Anno|(s = String(str)) Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
fun <T> fo<caret>o(t: T) where T : One, T : Two = t
|
||||
@@ -0,0 +1,111 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T : One, Two> foo([ResolvedTo(RAW_FIR)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T : One, Two> foo([ResolvedTo(RAW_FIR)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] T : One, Two> foo([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPANION_GENERATION)] fun <[ResolvedTo(COMPANION_GENERATION)] T : One, Two> foo([ResolvedTo(COMPANION_GENERATION)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(SUPER_TYPES)] fun <[ResolvedTo(SUPER_TYPES)] T : One, Two> foo([ResolvedTo(SUPER_TYPES)] t: T): <implicit> { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(TYPES)] fun <[ResolvedTo(TYPES)] T : R|One|, R|Two|> foo([ResolvedTo(TYPES)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] fun <[ResolvedTo(STATUS)] T : R|One|, R|Two|> foo([ResolvedTo(STATUS)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|One|, R|Two|> foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T : R|One|, R|Two|> foo([ResolvedTo(CONTRACTS)] t: R|T|): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|One|, R|Two|> foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <[ResolvedTo(ANNOTATION_ARGUMENTS)] T : R|One|, R|Two|> foo([ResolvedTo(ANNOTATION_ARGUMENTS)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] functionWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithWhere.kt
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> foo([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|T| {
|
||||
^foo R|<local>/t|
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
interface One
|
||||
interface Two
|
||||
|
||||
val <T> T.f<caret>oo where T : One, T : Two get() = this
|
||||
@@ -0,0 +1,126 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] val <[ResolvedTo(RAW_FIR)] T : One, Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] val <[ResolvedTo(RAW_FIR)] T : One, Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(RAW_FIR)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val <[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] T : One, Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(COMPANION_GENERATION)] val <[ResolvedTo(COMPANION_GENERATION)] T : One, Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(COMPANION_GENERATION)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(SUPER_TYPES)] val <[ResolvedTo(SUPER_TYPES)] T : One, Two> T.foo: <implicit>
|
||||
public? [ResolvedTo(SUPER_TYPES)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(TYPES)] val <[ResolvedTo(TYPES)] T : R|One|, R|Two|> R|T|.foo: <implicit>
|
||||
public? [ResolvedTo(TYPES)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] val <[ResolvedTo(STATUS)] T : R|One|, R|Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(STATUS)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val <[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|One|, R|Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public? final? [ResolvedTo(RAW_FIR)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(CONTRACTS)] val <[ResolvedTo(CONTRACTS)] T : R|One|, R|Two|> R|T|.foo: <implicit>
|
||||
public [ResolvedTo(CONTRACTS)] get(): <implicit> {
|
||||
^ this#
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val <[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|One|, R|Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val <[ResolvedTo(ANNOTATION_ARGUMENTS)] T : R|One|, R|Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] propertyWithWhere.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(STATUS)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] propertyWithWhere.kt
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface One : R|kotlin/Any| {
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface Two : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] val <[ResolvedTo(BODY_RESOLVE)] T : R|One|, R|Two|> R|T|.foo: R|T|
|
||||
public [ResolvedTo(BODY_RESOLVE)] get(): R|T| {
|
||||
^ this@R|/foo|
|
||||
}
|
||||
Reference in New Issue
Block a user