Open sschr15 opened 1 year ago
A bunch of things to get Kotlin to be (mostly) decompiling Kotlin and not a Kotlin-Java hybrid, split into a few main categories.
data class
annotation class
extends
implements
[]
arrayOf
new
this
this@...
for
if
repeat
rangeTo
until
rangeUntil
downTo
step
tailrec
when
lateinit var
Inline function call decompilation would be cool. It should be possible from the source map.
A bunch of things to get Kotlin to be (mostly) decompiling Kotlin and not a Kotlin-Java hybrid, split into a few main categories.
Technical Backend
Non-method fixes
data class
support (flag indicated via https://github.com/QuiltMC/quiltflower/commit/8b8c86de1ce7128a4c8eb6673b77f6d94badbad5)annotation class
support (https://github.com/QuiltMC/quiltflower/commit/6ca6edb19fd25f9f040a6d00289cbb6eb0791776)extends
/implements
clauses (https://github.com/QuiltMC/quiltflower/commit/8b8c86de1ce7128a4c8eb6673b77f6d94badbad5)[]
(https://github.com/QuiltMC/quiltflower/commit/6ca6edb19fd25f9f040a6d00289cbb6eb0791776)arrayOf
or the equivalent primitive typeMethod fixes
new
from constructor callsthis
or asthis@...
)for
loops andif
conditions on ranges (Experimental work done in https://github.com/Vineflower/vineflower/tree/feature/kotlin/loop-changes)repeat
rangeTo
until
and later KotlinrangeUntil
downTo
step
tailrec
functionswhen
statements