[FIR builder] create error types for vararg parameters correctly

Otherwise, such types are treated as resolved, but anyway
requires transformation on type phase.
Also, this commit drops the redundant duplicated transformation of
typeReference from primary constructor property generator

^KT-61422
This commit is contained in:
Dmitrii Gridin
2023-09-06 18:31:42 +02:00
committed by Space Team
parent c0c1966555
commit f1e5a9b223
14 changed files with 84 additions and 36 deletions
@@ -1,6 +1,6 @@
FILE: noParameterTypRefInPrimaryConstructorWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? constructor(vararg x: <ERROR TYPE REF: No type for parameter>): R|X| {
public? constructor(vararg x: R|kotlin/Array<out ERROR CLASS: No type for parameter>|): R|X| {
LAZY_super<R|kotlin/Any|>
}
@@ -1,6 +1,6 @@
FILE: noParameterTypRefInPrimaryConstructorWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? [ContainingClassKey=X] constructor(vararg x: <ERROR TYPE REF: No type for parameter>): R|X| {
public? [ContainingClassKey=X] constructor(vararg x: R|kotlin/Array<out ERROR CLASS: No type for parameter>|): R|X| {
super<R|kotlin/Any|>()
}
@@ -1,10 +1,10 @@
FILE: noParameterTypRefInPrimaryConsturctorValWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? constructor(vararg x: <ERROR TYPE REF: No type for parameter>): R|X| {
public? constructor(vararg x: R|kotlin/Array<out ERROR CLASS: No type for parameter>|): R|X| {
LAZY_super<R|kotlin/Any|>
}
public? final? val x: <ERROR TYPE REF: No type for parameter> = R|<local>/x|
public? get(): <ERROR TYPE REF: No type for parameter>
public? final? val x: R|kotlin/Array<out ERROR CLASS: No type for parameter>| = R|<local>/x|
public? get(): R|kotlin/Array<out ERROR CLASS: No type for parameter>|
}
@@ -1,10 +1,10 @@
FILE: noParameterTypRefInPrimaryConsturctorValWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? [ContainingClassKey=X] constructor([CorrespondingProperty=/X.x] vararg x: <ERROR TYPE REF: No type for parameter>): R|X| {
public? [ContainingClassKey=X] constructor([CorrespondingProperty=/X.x] vararg x: R|kotlin/Array<out ERROR CLASS: No type for parameter>|): R|X| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true, IsFromVarargKey=true] val x: <ERROR TYPE REF: No type for parameter> = R|<local>/x|
public? [ContainingClassKey=X] get(): <ERROR TYPE REF: No type for parameter>
public? final? [IsFromPrimaryConstructor=true, IsFromVarargKey=true] val x: R|kotlin/Array<out ERROR CLASS: No type for parameter>| = R|<local>/x|
public? [ContainingClassKey=X] get(): R|kotlin/Array<out ERROR CLASS: No type for parameter>|
}
@@ -1,6 +1,6 @@
FILE: uncompletedTypRefInPrimaryConstructorWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? constructor(vararg x: <ERROR TYPE REF: Incomplete code>): R|X| {
public? constructor(vararg x: R|kotlin/Array<out ERROR CLASS: Incomplete code>|): R|X| {
LAZY_super<R|kotlin/Any|>
}
@@ -1,6 +1,6 @@
FILE: uncompletedTypRefInPrimaryConstructorWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? [ContainingClassKey=X] constructor(vararg x: <ERROR TYPE REF: Incomplete code>): R|X| {
public? [ContainingClassKey=X] constructor(vararg x: R|kotlin/Array<out ERROR CLASS: Incomplete code>|): R|X| {
super<R|kotlin/Any|>()
}
@@ -1,10 +1,10 @@
FILE: uncompletedTypRefInPrimaryConsturctorValWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? constructor(vararg x: <ERROR TYPE REF: Incomplete code>): R|X| {
public? constructor(vararg x: R|kotlin/Array<out ERROR CLASS: Incomplete code>|): R|X| {
LAZY_super<R|kotlin/Any|>
}
public? final? val x: <ERROR TYPE REF: Incomplete code> = R|<local>/x|
public? get(): <ERROR TYPE REF: Incomplete code>
public? final? val x: R|kotlin/Array<out ERROR CLASS: Incomplete code>| = R|<local>/x|
public? get(): R|kotlin/Array<out ERROR CLASS: Incomplete code>|
}
@@ -1,10 +1,10 @@
FILE: uncompletedTypRefInPrimaryConsturctorValWithVararg.kt
public? final? class X : R|kotlin/Any| {
public? [ContainingClassKey=X] constructor([CorrespondingProperty=/X.x] vararg x: <ERROR TYPE REF: Incomplete code>): R|X| {
public? [ContainingClassKey=X] constructor([CorrespondingProperty=/X.x] vararg x: R|kotlin/Array<out ERROR CLASS: Incomplete code>|): R|X| {
super<R|kotlin/Any|>()
}
public? final? [IsFromPrimaryConstructor=true, IsFromVarargKey=true] val x: <ERROR TYPE REF: Incomplete code> = R|<local>/x|
public? [ContainingClassKey=X] get(): <ERROR TYPE REF: Incomplete code>
public? final? [IsFromPrimaryConstructor=true, IsFromVarargKey=true] val x: R|kotlin/Array<out ERROR CLASS: Incomplete code>| = R|<local>/x|
public? [ContainingClassKey=X] get(): R|kotlin/Array<out ERROR CLASS: Incomplete code>|
}