[FIR] Properly create type ref for error type in various places
This commit is contained in:
committed by
Space Team
parent
ad3ae0ff69
commit
e9204521a9
+1
-1
@@ -11,7 +11,7 @@ FILE: lambdaInUnresolvedCall.kt
|
||||
}
|
||||
public final fun test_2(): R|kotlin/Unit| {
|
||||
<Unresolved name: myRun>#(<L> = myRun@fun <anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Unknown> {
|
||||
^ R|/materialize|<R|ERROR CLASS: Cannot infer argument for type parameter R|>()
|
||||
^ R|/materialize|<<ERROR TYPE REF: Cannot infer argument for type parameter R>>()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: erroneousDelegatedConstructorCall.kt
|
||||
public final class A : <ERROR TYPE REF: Symbol not found for Undefined> {
|
||||
public constructor(): R|A| {
|
||||
super<<ERROR TYPE REF: Symbol not found for Undefined>>(R|/id|<R|ERROR CLASS: Cannot infer argument for type parameter K|>(R|/materialize|<R|ERROR CLASS: Cannot infer argument for type parameter K|>()))
|
||||
super<<ERROR TYPE REF: Symbol not found for Undefined>>(R|/id|<<ERROR TYPE REF: Cannot infer argument for type parameter K>>(R|/materialize|<<ERROR TYPE REF: Cannot infer argument for type parameter K>>()))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -148,13 +148,13 @@ FILE: conflictingProjection.kt
|
||||
^test15 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner>|<R|kotlin/Char|>()
|
||||
}
|
||||
public final fun test16(): R|InOuter.OutIntermediate.InInner<out kotlin/Char, kotlin/String, kotlin/Int>| {
|
||||
^test16 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner><CS errors: /InOuter.OutIntermediate.InInner.InInner>#|<R|ERROR CLASS: Cannot infer argument for type parameter G|>()
|
||||
^test16 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner><CS errors: /InOuter.OutIntermediate.InInner.InInner>#|<<ERROR TYPE REF: Cannot infer argument for type parameter G>>()
|
||||
}
|
||||
public final fun test17(): R|InOuter.OutIntermediate.InInner<kotlin/Char, out kotlin/String, in kotlin/Int>| {
|
||||
^test17 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner>|<R|kotlin/Char|>()
|
||||
}
|
||||
public final fun test18(): R|InOuter.OutIntermediate.InInner<out kotlin/Char, in kotlin/String, kotlin/Int>| {
|
||||
^test18 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner><CS errors: /InOuter.OutIntermediate.InInner.InInner>#|<R|ERROR CLASS: Cannot infer argument for type parameter G|>()
|
||||
^test18 R|/InOuter.InOuter|<R|kotlin/Int|>().R|SubstitutionOverride</InOuter.OutIntermediate.OutIntermediate>|<R|kotlin/String|>().R|SubstitutionOverride</InOuter.OutIntermediate.InInner.InInner><CS errors: /InOuter.OutIntermediate.InInner.InInner>#|<<ERROR TYPE REF: Cannot infer argument for type parameter G>>()
|
||||
}
|
||||
public final class TwoParametersOuter<T, in T1> : R|kotlin/Any| {
|
||||
public constructor<T, in T1>(): R|TwoParametersOuter<T, T1>| {
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ FILE: upperBoundViolated.kt
|
||||
}
|
||||
public final val np1: R|NumberPhile<kotlin/Int>| = R|/NumberPhile.NumberPhile|<R|kotlin/Int|>(Int(10))
|
||||
public get(): R|NumberPhile<kotlin/Int>|
|
||||
public final val np2: R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>| = R|/NumberPhile.NumberPhile<Inapplicable(INAPPLICABLE): /NumberPhile.NumberPhile>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|>(String(Test))
|
||||
public final val np2: R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>| = R|/NumberPhile.NumberPhile<Inapplicable(INAPPLICABLE): /NumberPhile.NumberPhile>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(String(Test))
|
||||
public get(): R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>|
|
||||
public final class Test1<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
|
||||
public constructor<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|>(): R|Test1<S1, K>| {
|
||||
|
||||
Vendored
+2
-2
@@ -33,8 +33,8 @@ class CallBasedInExpressionGenerator(
|
||||
}
|
||||
|
||||
private fun invokeFunction(v: InstructionAdapter) {
|
||||
val result = codegen.<!UNRESOLVED_REFERENCE!>invokeFunction<!>(resolvedCall.<!UNRESOLVED_REFERENCE!>call<!>, resolvedCall, <!UNRESOLVED_REFERENCE!>none<!>())
|
||||
result.<!UNRESOLVED_REFERENCE!>put<!>(result.<!UNRESOLVED_REFERENCE!>type<!>, result.<!UNRESOLVED_REFERENCE!>kotlinType<!>, v)
|
||||
val result = codegen.<!UNRESOLVED_REFERENCE!>invokeFunction<!>(resolvedCall.call, resolvedCall, <!UNRESOLVED_REFERENCE!>none<!>())
|
||||
result.put(result.type, result.kotlinType, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,5 +18,5 @@ FILE: typeParameters.kt
|
||||
}
|
||||
public final fun main(fooImpl: R|FooImpl|, bar: R|Bar|): R|kotlin/Unit| {
|
||||
lval a: R|FooImpl| = R|/foo|<R|FooImpl|>(R|<local>/fooImpl|)
|
||||
lval b: <ERROR TYPE REF: Cannot infer argument for type parameter T> = R|/foo<Inapplicable(INAPPLICABLE): /foo>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|>(R|<local>/bar|)
|
||||
lval b: <ERROR TYPE REF: Cannot infer argument for type parameter T> = R|/foo<Inapplicable(INAPPLICABLE): /foo>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(R|<local>/bar|)
|
||||
}
|
||||
|
||||
+1
-1
@@ -24,5 +24,5 @@ FILE: supertypeGenericsComplex.kt
|
||||
}
|
||||
public final fun f(list: R|kotlin/collections/MutableList<X>|, s: R|kotlin/collections/MutableList<kotlin/CharSequence>|): R|kotlin/Unit| {
|
||||
R|/C.C|().R|SubstitutionOverride</C.f: R|kotlin/Unit|>|<R|X|>(R|<local>/list|, R|<local>/s|)
|
||||
R|/C.C|().R|SubstitutionOverride</C.f: R|kotlin/Unit|><Inapplicable(INAPPLICABLE): /C.f>#|<R|ERROR CLASS: Cannot infer argument for type parameter D|>(R|<local>/s|, R|<local>/list|)
|
||||
R|/C.C|().R|SubstitutionOverride</C.f: R|kotlin/Unit|><Inapplicable(INAPPLICABLE): /C.f>#|<<ERROR TYPE REF: Cannot infer argument for type parameter D>>(R|<local>/s|, R|<local>/list|)
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ FILE: main.kt
|
||||
^ R|<local>/x|.R|kotlin/Int.toString|()
|
||||
}
|
||||
)
|
||||
R|/MyFunction<CS errors: /MyFunction>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|, R|ERROR CLASS: Cannot infer argument for type parameter R|>(<L> = MyFunction@fun <anonymous>(x: <ERROR TYPE REF: Cannot infer argument for type parameter T>): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=NoInline> {
|
||||
R|/MyFunction<CS errors: /MyFunction>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(<L> = MyFunction@fun <anonymous>(x: <ERROR TYPE REF: Cannot infer argument for type parameter T>): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=NoInline> {
|
||||
^ String()
|
||||
}
|
||||
)
|
||||
|
||||
@@ -14,7 +14,7 @@ FILE: tryInference.kt
|
||||
R|/materialize|<R|A|>()
|
||||
}
|
||||
finally {
|
||||
R|/materialize<CS errors: /materialize>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|>()
|
||||
R|/materialize<CS errors: /materialize>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@ FILE: ambiguityWhenNoApplicableCallableReferenceCandidate.kt
|
||||
public final fun <T> bar(f: R|(T) -> kotlin/Unit|): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
R|/bar<CS errors: /bar>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|>(::<Ambiguity: foo, [/foo, /foo]>#)
|
||||
R|/bar<CS errors: /bar>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(::<Ambiguity: foo, [/foo, /foo]>#)
|
||||
}
|
||||
|
||||
+3
-3
@@ -30,14 +30,14 @@ FILE: chooseCallableReferenceDependingOnInferredReceiver.kt
|
||||
^bar R|kotlin/TODO|()
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
R|/myWith<CS errors: /myWith>#|<R|A|, R|ERROR CLASS: Cannot infer argument for type parameter R|>(R|/A.A|(), <L> = myWith@fun R|A|.<anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Inline, kind=UNKNOWN> {
|
||||
R|/myWith<CS errors: /myWith>#|<R|A|, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(R|/A.A|(), <L> = myWith@fun R|A|.<anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Inline, kind=UNKNOWN> {
|
||||
lval t1: R|A| = R|/bar|<R|A|>(::R|/A.foo|)
|
||||
lval t2: R|A| = R|/bar|<R|A|>(::R|/A.baz|)
|
||||
^ R|/myWith|<R|B|, R|ERROR CLASS: Cannot infer argument for type parameter R|>(R|/B.B|(), <L> = myWith@fun R|B|.<anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Inline, kind=UNKNOWN> {
|
||||
^ R|/myWith|<R|B|, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(R|/B.B|(), <L> = myWith@fun R|B|.<anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Inline, kind=UNKNOWN> {
|
||||
lval a: R|A| = R|/bar|<R|A|>(::R|/A.foo|)
|
||||
lval b: R|B| = R|/bar|<R|B|>(::R|/B.foo|)
|
||||
lval t3: R|B| = R|/bar|<R|B|>(::R|/B.baz|)
|
||||
^ R|/bar|<R|ERROR CLASS: Cannot infer argument for type parameter T|>(::<Ambiguity: foo, [/B.foo, /B.foo]>#)
|
||||
^ R|/bar|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(::<Ambiguity: foo, [/B.foo, /B.foo]>#)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,5 +21,5 @@ FILE: eagerAndPostponedCallableReferences.kt
|
||||
lval a4: R|B| = R|/foo|<R|B|>(::R|/multiple|, ::R|/singleB|)
|
||||
lval a5: R|A| = R|/foo|<R|A|>(::R|/singleA|, ::R|/singleA|)
|
||||
lval a6: R|it(A & B)| = R|/foo|<R|it(A & B)|>(::R|/singleA|, ::R|/singleB|)
|
||||
R|/foo<CS errors: /foo>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|>(::<Ambiguity: multiple, [/multiple, /multiple]>#, ::<Ambiguity: multiple, [/multiple, /multiple]>#)
|
||||
R|/foo<CS errors: /foo>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(::<Ambiguity: multiple, [/multiple, /multiple]>#, ::<Ambiguity: multiple, [/multiple, /multiple]>#)
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -9,7 +9,7 @@ FILE: implicitTypes.kt
|
||||
^bar Int(1)
|
||||
}
|
||||
public final fun loop1(): R|(ERROR CLASS: Cannot infer argument for type parameter T) -> ERROR CLASS: Cannot infer argument for type parameter R| {
|
||||
^loop1 R|/use<Inapplicable(INAPPLICABLE): /use>#|<R|ERROR CLASS: Cannot infer argument for type parameter T|, R|ERROR CLASS: Cannot infer argument for type parameter R|>(::<Unresolved reference: loop2>#)
|
||||
^loop1 R|/use<Inapplicable(INAPPLICABLE): /use>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(::<Unresolved reference: loop2>#)
|
||||
}
|
||||
public final fun loop2(): <ERROR TYPE REF: cycle> {
|
||||
^loop2 R|/loop1|()
|
||||
|
||||
Reference in New Issue
Block a user