[FIR, LT] Report syntax error by traversing LT after parsing

#KT-57756 Fixed
This commit is contained in:
Kirill Rakhman
2023-05-03 16:28:44 +02:00
committed by Space Team
parent b07e4f26ef
commit 3c66ae0f8b
14 changed files with 116 additions and 82 deletions
@@ -1,19 +0,0 @@
// COMPARE_WITH_LIGHT_TREE
package h
class Square() {
var size : Double =
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {
//in LT this LAMBDA_EXPRESSION get parsed lazyly, but doesn't got anywhere in FIR tree (as property doesn't have place for it)
<!SYNTAX{PSI}!>$area<!> <!SYNTAX{PSI}!>= size * size<!>
}
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>var area : Double<!>
private set
}
fun main() {
val s = Square()
s.size = 2.0
}
@@ -1,10 +1,10 @@
// FIR_IDENTICAL
// COMPARE_WITH_LIGHT_TREE
package h
class Square() {
var size : Double =
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {
//in LT this LAMBDA_EXPRESSION get parsed lazyly, but doesn't got anywhere in FIR tree (as property doesn't have place for it)
<!SYNTAX!>$area<!> <!SYNTAX!>= size * size<!>
}