FIR: Improve rendering for type operators
This commit is contained in:
@@ -2,7 +2,7 @@ FILE: genericFunctions.kt
|
||||
public? final? interface Any {
|
||||
}
|
||||
<reified T : Any> public? final? inline fun Any.safeAs(): T? {
|
||||
^safeAs as?/T(this#)
|
||||
^safeAs (this# as? T)
|
||||
}
|
||||
public? abstract class Summator {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
|
||||
@@ -52,7 +52,7 @@ FILE: branches.kt
|
||||
in($subj$, rangeTo#(Int(1), Int(2))) -> {
|
||||
String(Fail)
|
||||
}
|
||||
is/Number($subj$) -> {
|
||||
($subj$ is Number) -> {
|
||||
String(Number)
|
||||
}
|
||||
else -> {
|
||||
|
||||
@@ -11,6 +11,6 @@ FILE: modifications.kt
|
||||
this# += String(Omega)
|
||||
}
|
||||
public? final? fun Any.modify(): kotlin/Unit {
|
||||
lval <complex-set>: <implicit> = as/List<Int>(this#)
|
||||
lval <complex-set>: <implicit> = (this# as List<Int>)
|
||||
<complex-set># += Int(42)
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ FILE: typeOperators.kt
|
||||
public? final? interface IThing {
|
||||
}
|
||||
public? final? fun test1(x: Any): <implicit> {
|
||||
^test1 is/IThing(x#)
|
||||
^test1 (x# is IThing)
|
||||
}
|
||||
public? final? fun test2(x: Any): <implicit> {
|
||||
^test2 !is/IThing(x#)
|
||||
^test2 (x# !is IThing)
|
||||
}
|
||||
public? final? fun test3(x: Any): <implicit> {
|
||||
^test3 as/IThing(x#)
|
||||
^test3 (x# as IThing)
|
||||
}
|
||||
public? final? fun test4(x: Any): <implicit> {
|
||||
^test4 as?/IThing(x#)
|
||||
^test4 (x# as? IThing)
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ FILE: lists.kt
|
||||
|
||||
}
|
||||
public final fun R|kotlin/collections/List<kotlin/String>|.convert(): R|MyStringList| {
|
||||
^convert as/R|MyStringList|(this#)
|
||||
^convert (this# as R|MyStringList|)
|
||||
}
|
||||
public final fun ret(l: R|kotlin/collections/MutableList<kotlin/String>|): R|MyMutableStringList| {
|
||||
^ret as/R|MyMutableStringList|(this#)
|
||||
^ret (this# as R|MyMutableStringList|)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ FILE: genericFunctions.kt
|
||||
public abstract interface Any {
|
||||
}
|
||||
<reified T : R|Any|> public final inline fun R|Any|.safeAs(): R|T|? {
|
||||
^safeAs as?/R|T|(this#)
|
||||
^safeAs (this# as? R|T|)
|
||||
}
|
||||
public abstract class Summator {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
@@ -607,6 +607,16 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
print(")")
|
||||
}
|
||||
|
||||
override fun visitTypeOperatorCall(typeOperatorCall: FirTypeOperatorCall) {
|
||||
print("(")
|
||||
typeOperatorCall.argument.accept(this)
|
||||
print(" ")
|
||||
print(typeOperatorCall.operation.operator)
|
||||
print(" ")
|
||||
typeOperatorCall.typeRef.accept(this)
|
||||
print(")")
|
||||
}
|
||||
|
||||
override fun visitAnnotationCall(annotationCall: FirAnnotationCall) {
|
||||
print("@")
|
||||
annotationCall.useSiteTarget?.let {
|
||||
|
||||
Reference in New Issue
Block a user