[FIR] Generate an error primary constructor when super call is invalid
Merge-request: KT-MR-11026 Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/classWithWrongSuperCall.lazyBodies.txt
Vendored
+8
@@ -33,12 +33,20 @@ FILE: classWithWrongSuperCall.kt
|
||||
|
||||
}
|
||||
public? final? class F : A {
|
||||
public? error_constructor(): R|F| {
|
||||
LAZY_super<A>
|
||||
}
|
||||
|
||||
public? constructor(): R|F| {
|
||||
LAZY_super<A>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class G : A {
|
||||
public? error_constructor(): R|G| {
|
||||
LAZY_super<A>
|
||||
}
|
||||
|
||||
public? constructor(): R|G| {
|
||||
LAZY_super<A>
|
||||
}
|
||||
|
||||
+20
@@ -54,12 +54,32 @@ FILE: classWithWrongSuperCall.kt
|
||||
|
||||
}
|
||||
public? final? class F : A {
|
||||
public? [ContainingClassKey=F] error_constructor(): R|F| {
|
||||
super<A>(fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
local final? fun foo(): <implicit> {
|
||||
^foo B#.prop#.toString#()
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
public? [ContainingClassKey=F] constructor(): R|F| {
|
||||
super<A>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class G : A {
|
||||
public? [ContainingClassKey=G] error_constructor(): R|G| {
|
||||
super<A>(fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
local final? fun foo(): <implicit> {
|
||||
^foo B#.prop#.toString#()
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
public? [ContainingClassKey=G] constructor(): R|G| {
|
||||
super<A>(fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
local final? fun foo(): <implicit> {
|
||||
|
||||
Reference in New Issue
Block a user