KT-2625 Parse multiple assignment to variables

New PSI element types introduced.
Parsing procedure for properties reused.
Extra syntactic elements (receiver, type) are prohibited in the parser

#KT-2625 Fixed
This commit is contained in:
Andrey Breslav
2012-08-17 15:00:17 +04:00
parent d38d4e2e2b
commit 86e40073c5
10 changed files with 838 additions and 18 deletions
@@ -0,0 +1,37 @@
fun a() {
val (a) = 1
val (b: Int) = 1
val (a, b) = 1
val (a: Int, b: Int) = 1
val (a: Int, b) = 1
val (a, b: Int) = 1
var (a) = 1
var (b: Int) = 1
var (a, b) = 1
var (a: Int, b: Int) = 1
var (a: Int, b) = 1
var (a, b: Int) = 1
val () = 1
val (, a) = 1
val (a, ) = 1
val (a, : Int) = 1
val (a, : Int, ) = 1
val (a, = 1
val (a, b = 1
val (1) = 1
val T.(a) = 1
val (a): Int = 1
val T.(a): Int = 1
}
val (a, b) = 1
val Int.(a, b) = 1
val (a, b):Int = 1
class X {
val (a, b) = 1
val Int.(a, b) = 1
val (a, b): Int = 1
}