FIR IDE/UAST: get PsiType from KtExpression

This commit is contained in:
Jinseong Jeon
2021-05-27 16:05:01 -07:00
committed by teamcityserver
parent 7d7782e8ff
commit fa36098214
57 changed files with 160 additions and 133 deletions
@@ -6,13 +6,16 @@
package org.jetbrains.kotlin.idea.frontend.api.components
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiType
import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtExpression
abstract class KtExpressionTypeProvider : KtAnalysisSessionComponent() {
abstract fun getReturnTypeForKtDeclaration(declaration: KtDeclaration): KtType
abstract fun getKtExpressionType(expression: KtExpression): KtType
abstract fun getPsiTypeForKtExpression(expression: KtExpression, mode: TypeMappingMode): PsiType
abstract fun getExpectedType(expression: PsiElement): KtType?
abstract fun isDefinitelyNull(expression: KtExpression): Boolean
abstract fun isDefinitelyNotNull(expression: KtExpression): Boolean
@@ -22,6 +25,9 @@ interface KtExpressionTypeProviderMixIn : KtAnalysisSessionMixIn {
fun KtExpression.getKtType(): KtType =
analysisSession.expressionTypeProvider.getKtExpressionType(this)
fun KtExpression.getPsiType(mode: TypeMappingMode = TypeMappingMode.DEFAULT): PsiType =
analysisSession.expressionTypeProvider.getPsiTypeForKtExpression(this, mode)
fun KtDeclaration.getReturnKtType(): KtType =
analysisSession.expressionTypeProvider.getReturnTypeForKtDeclaration(this)
@@ -110,8 +110,7 @@ private class AnonymousTypesSubstitutor(
}
}
private fun ConeKotlinType.asPsiType(
fun ConeKotlinType.asPsiType(
session: FirSession,
state: FirModuleResolveState,
mode: TypeMappingMode,
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.idea.frontend.api.fir.components
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiType
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.psi
@@ -17,6 +18,7 @@ import org.jetbrains.kotlin.fir.typeContext
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.idea.asJava.asPsiType
import org.jetbrains.kotlin.idea.fir.low.level.api.api.getOrBuildFir
import org.jetbrains.kotlin.idea.fir.low.level.api.api.getOrBuildFirOfType
import org.jetbrains.kotlin.idea.fir.low.level.api.api.getOrBuildFirSafe
@@ -28,6 +30,7 @@ import org.jetbrains.kotlin.idea.frontend.api.types.KtType
import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion
import org.jetbrains.kotlin.idea.references.FirReferenceResolveHelper
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
import org.jetbrains.kotlin.psi.*
internal class KtFirExpressionTypeProvider(
@@ -48,6 +51,21 @@ internal class KtFirExpressionTypeProvider(
}
}
override fun getPsiTypeForKtExpression(
expression: KtExpression,
mode: TypeMappingMode,
): PsiType = withValidityAssertion {
when (val fir = expression.getOrBuildFir(firResolveState)) {
is FirExpression -> fir.typeRef.coneType.asPsiType(mode, expression)
is FirNamedReference -> fir.getReferencedElementType().asPsiType(mode, expression)
is FirStatement -> PsiType.VOID
else -> error("Unexpected ${fir::class}")
}
}
private fun ConeKotlinType.asPsiType(mode: TypeMappingMode, psiContext: PsiElement) =
asPsiType(rootModuleSession, analysisSession.firResolveState, mode, psiContext)
private fun FirNamedReference.getReferencedElementType(): ConeKotlinType {
val symbols = when (this) {
is FirResolvedNamedReference -> listOf(resolvedSymbol)
+1
View File
@@ -53,6 +53,7 @@ runtimeJar(tasks.register<ShadowJar>("shadowJar")) {
testsJar ()
projectTest(parallel = true) {
dependsOn(":dist")
workingDir = rootDir
val useFirIdeaPlugin = kotlinBuildProperties.useFirIdeaPlugin
doFirst {
@@ -10,6 +10,7 @@ import com.intellij.psi.PsiType
import org.jetbrains.kotlin.idea.frontend.api.analyseWithCustomToken
import org.jetbrains.kotlin.idea.frontend.api.tokens.AlwaysAccessibleValidityTokenFactory
import org.jetbrains.kotlin.idea.references.mainReference
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtReferenceExpression
import org.jetbrains.uast.UElement
@@ -36,8 +37,10 @@ interface FirKotlinUastResolveProviderService : BaseKotlinUastResolveProviderSer
}
override fun getExpressionType(uExpression: UExpression): PsiType? {
// TODO("Not yet implemented")
return null
val ktExpression = uExpression.sourcePsi as? KtExpression ?: return null
analyseWithCustomToken(ktExpression, AlwaysAccessibleValidityTokenFactory) {
return ktExpression.getPsiType(TypeMappingMode.DEFAULT_UAST)
}
}
override fun evaluate(uExpression: UExpression): Any? {
@@ -1,7 +1,7 @@
UFile (package = ) [public final class AnnotatedExpressionsKt {...]
UClass (name = AnnotatedExpressionsKt) [public final class AnnotatedExpressionsKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (ANNOTATED_EXPRESSION) [[!] UnknownKotlinExpression (ANNOTATED_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -3,7 +3,7 @@ UFile (package = ) [public final class AnnotationParametersKt {...]
UMethod (name = foo) [public static final fun foo() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = bar) [public static final fun bar() : void {...}]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
@@ -11,11 +11,11 @@ UFile (package = ) [public final class AnnotationParametersKt {...]
UMethod (name = fooWithArrLiteral) [public static final fun fooWithArrLiteral() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = fooWithStrArrLiteral) [public static final fun fooWithStrArrLiteral() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UClass (name = IntRange) [public abstract annotation IntRange {...}]
UMethod (name = from) [public abstract fun from() : long = UastEmptyExpression]
UMethod (name = to) [public abstract fun to() : long = UastEmptyExpression]
@@ -3,7 +3,7 @@ UFile (package = ) [import java.io.Closeable...]
UImportStatement (isOnDemand = false) [import java.io.InputStream]
UClass (name = AnonymousKt) [public final class AnonymousKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -11,5 +11,5 @@ UFile (package = ) [import java.io.Closeable...]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UMethod (name = withErr) [public static final fun withErr() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -1,7 +1,7 @@
UFile (package = ) [public final class AssertionKt {...]
UClass (name = AssertionKt) [public final class AssertionKt {...}]
UMethod (name = foo) [public static final fun foo() : java.lang.String {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UReturnExpression [return [!] UnknownKotlinExpression (POSTFIX_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (POSTFIX_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (POSTFIX_EXPRESSION) [[!] UnknownKotlinExpression (POSTFIX_EXPRESSION)]
@@ -1,7 +1,7 @@
UFile (package = ) [public final class BitwiseKt {...]
UClass (name = BitwiseKt) [public final class BitwiseKt {...}]
UMethod (name = foo) [public static final fun foo() : int {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -10,10 +10,10 @@ UFile (package = ) [public final class BitwiseKt {...]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UMethod (name = bar) [public static final fun bar() : long {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -22,5 +22,5 @@ UFile (package = ) [public final class BitwiseKt {...]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -2,5 +2,5 @@ UFile (package = ) [public final class BrokenMethodKt {...]
UClass (name = BrokenMethodKt) [public final class BrokenMethodKt {...}]
UMethod (name = main) [public static final fun main(args: java.lang.String[]) : void {...}]
UParameter (name = args) [var args: java.lang.String[]]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CLASS) [[!] UnknownKotlinExpression (CLASS)]
@@ -2,8 +2,8 @@ UFile (package = ) [public final class ConstructorDelegateKt {...]
UClass (name = ConstructorDelegateKt) [public final class ConstructorDelegateKt {...}]
UMethod (name = createBase) [public static final fun createBase(i: int) : Base {...}]
UParameter (name = i) [var i: int]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (CALL_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Void
UReturnExpression [return [!] UnknownKotlinExpression (CALL_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UClass (name = Base) [public abstract interface Base {...}]
UMethod (name = print) [public abstract fun print() : void = UastEmptyExpression]
@@ -13,7 +13,7 @@ UFile (package = ) [public final class ConstructorDelegateKt {...]
UParameter (name = x) [var x: int]
UMethod (name = getX) [public final fun getX() : int = UastEmptyExpression]
UMethod (name = print) [public fun print() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UClass (name = Derived) [public final class Derived : null, null {...}]
UMethod (name = Derived) [public fun Derived(b: Base) = UastEmptyExpression]
@@ -26,11 +26,11 @@ UFile (package = ) [public final class A {...]
UField (name = a) [private var a: java.lang.String]
UMethod (name = AWithSecondary) [public fun AWithSecondary(i: int) {...}]
UParameter (name = i) [var i: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UMethod (name = AWithSecondary) [public fun AWithSecondary(s: java.lang.String) {...}]
UParameter (name = s) [var s: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UMethod (name = getA) [public final fun getA() : java.lang.String = UastEmptyExpression]
UMethod (name = setA) [public final fun setA(value: java.lang.String) : void = UastEmptyExpression]
@@ -39,11 +39,11 @@ UFile (package = ) [public final class A {...]
UField (name = a) [private var a: java.lang.String]
UMethod (name = AWithSecondaryInit) [public fun AWithSecondaryInit(i: int) {...}]
UParameter (name = i) [var i: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UMethod (name = AWithSecondaryInit) [public fun AWithSecondaryInit(s: java.lang.String) {...}]
UParameter (name = s) [var s: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:String
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
@@ -2,7 +2,7 @@ UFile (package = ) [public final class DefaultParameterValuesKt {...]
UClass (name = DefaultParameterValuesKt) [public final class DefaultParameterValuesKt {...}]
UMethod (name = foo) [public static final fun foo(a: int, foo: java.lang.String) : void {...}]
UParameter (name = a) [var a: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UParameter (name = foo) [var foo: java.lang.String = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
UBlockExpression [{...}]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:Void
UBlockExpression [{...}] : PsiType:Unit
@@ -2,4 +2,4 @@ UFile (package = test.pkg) [package test.pkg...]
UClass (name = Test) [public final class Test {...}]
UMethod (name = Test) [public fun Test() = UastEmptyExpression]
UMethod (name = test1) [public final fun test1() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -2,6 +2,6 @@ UFile (package = ) [public final class DestructuringDeclarationKt {...]
UClass (name = DestructuringDeclarationKt) [public final class DestructuringDeclarationKt {...}]
UMethod (name = foo) [public static final fun foo(data: java.lang.Object) : void {...}]
UParameter (name = data) [var data: java.lang.Object]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (DESTRUCTURING_DECLARATION) [[!] UnknownKotlinExpression (DESTRUCTURING_DECLARATION)]
[!] UnknownKotlinExpression (DESTRUCTURING_DECLARATION) [[!] UnknownKotlinExpression (DESTRUCTURING_DECLARATION)]
@@ -4,12 +4,12 @@ UFile (package = ) [public final class ElvisKt {...]
UParameter (name = bar) [var bar: java.lang.String]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:Void
UMethod (name = bar) [public static final fun bar() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = baz) [public static final fun baz() : java.lang.String {...}]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Void
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -7,4 +7,4 @@ UFile (package = ) [public final class ElvisTypeKt {...]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = bar) [public static final fun bar(o: java.lang.Object) : void {...}]
UParameter (name = o) [var o: java.lang.Object]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -1,5 +1,5 @@
UFile (package = ) [public final class IfStatementKt {...]
UClass (name = IfStatementKt) [public final class IfStatementKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -1,8 +1,8 @@
UFile (package = ) [public final class InKt {...]
UClass (name = InKt) [public final class InKt {...}]
UMethod (name = foo) [public static final fun foo() : boolean {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -2,7 +2,7 @@ UFile (package = ) [public final class InnerNonFixedTypeVariableKt {...]
UClass (name = InnerNonFixedTypeVariableKt) [public final class InnerNonFixedTypeVariableKt {...}]
UMethod (name = test) [public static final fun test(list: java.util.List<? extends java.lang.Object>) : void {...}]
UParameter (name = list) [var list: java.util.List<? extends java.lang.Object>]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Set<Unit>
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UClass (name = Some) [public final class Some {...}]
UMethod (name = Some) [public fun Some() = UastEmptyExpression]
@@ -1,7 +1,7 @@
UFile (package = org.jetbrains.uast.kotlin) [package org.jetbrains.uast.kotlin...]
UClass (name = LambdaReturnKt) [public final class LambdaReturnKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -2,16 +2,16 @@ UFile (package = ) [import java.util.stream.Stream...]
UImportStatement (isOnDemand = false) [import java.util.stream.Stream]
UClass (name = LambdasKt) [public final class LambdasKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:NonExistentClass
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UMethod (name = doSelectItem) [public static final fun doSelectItem(selectItemFunction: kotlin.jvm.functions.Function0<? extends kotlin.Unit>) : void {...}]
UParameter (name = selectItemFunction) [var selectItemFunction: kotlin.jvm.functions.Function0<? extends kotlin.Unit>]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:NonExistentClass
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = lambdaInPlaceCall) [public static final fun lambdaInPlaceCall() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UWhileExpression [while ([!] UnknownKotlinExpression (CALL_EXPRESSION)) {...}]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -1,10 +1,10 @@
UFile (package = ) [public final class LocalDeclarationsKt {...]
UClass (name = LocalDeclarationsKt) [public final class LocalDeclarationsKt {...}]
UMethod (name = foo) [public static final fun foo() : boolean {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (CLASS) [[!] UnknownKotlinExpression (CLASS)]
[!] UnknownKotlinExpression (FUN) [[!] UnknownKotlinExpression (FUN)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (FUN) [[!] UnknownKotlinExpression (FUN)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (BINARY_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -1,6 +1,6 @@
UFile (package = ) [public final class LocalVariableWithAnnotationKt {...]
UClass (name = LocalVariableWithAnnotationKt) [public final class LocalVariableWithAnnotationKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UClass (name = TestAnnotation) [public abstract annotation TestAnnotation {...}]
@@ -2,7 +2,7 @@ UFile (package = ) [public final class ClassA {...]
UClass (name = ClassA) [public final class ClassA {...}]
UField (name = paramAndProp) [private final var paramAndProp: java.lang.String]
UField (name = writebleProp) [private var writebleProp: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = ClassA) [public fun ClassA(justParam: int, paramAndProp: java.lang.String) = UastEmptyExpression]
UParameter (name = justParam) [var justParam: int]
UParameter (name = paramAndProp) [var paramAndProp: java.lang.String]
@@ -6,4 +6,4 @@ UFile (package = ) [public final class MethodReferenceKt {...]
UClass (name = Foo) [public final class Foo {...}]
UMethod (name = Foo) [public fun Foo() = UastEmptyExpression]
UMethod (name = bar) [public final fun bar() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -1,9 +1,9 @@
UFile (package = ) [public final class NameContainingFileKt {...]
UClass (name = NameContainingFileKt) [public final class NameContainingFileKt {...}]
UField (name = xyzzy) [private static final var xyzzy: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = bar) [public static final fun bar() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = getXyzzy) [public static final fun getXyzzy() : int = UastEmptyExpression]
UClass (name = Foo) [public final class Foo {...}]
UMethod (name = Foo) [public fun Foo() = UastEmptyExpression]
@@ -2,15 +2,15 @@ UFile (package = ) [public final class NonTrivialIdentifiersKt {...]
UClass (name = NonTrivialIdentifiersKt) [public final class NonTrivialIdentifiersKt {...}]
UMethod (name = main) [public static final fun main(a: A) : void {...}]
UParameter (name = a) [var a: A]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UClass (name = A) [public final class A {...}]
UMethod (name = A) [public fun A() = UastEmptyExpression]
UMethod (name = invoke) [public final fun invoke() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = invoke) [public final fun invoke(f: kotlin.jvm.functions.Function0<? extends kotlin.Unit>) : void {...}]
UParameter (name = f) [var f: kotlin.jvm.functions.Function0<? extends kotlin.Unit>]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -3,20 +3,20 @@ UFile (package = ) [public final class ParametersDisorderKt {...]
UMethod (name = global) [public static final fun global(a: int, b: float) : void {...}]
UParameter (name = a) [var a: int]
UParameter (name = b) [var b: float]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = withDefault) [public static final fun withDefault(c: int, d: java.lang.String) : void {...}]
UParameter (name = c) [var c: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UParameter (name = d) [var d: java.lang.String = "aaa"]
ULiteralExpression (value = "aaa") ["aaa"] : PsiType:String
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = withReceiver) [public static final fun withReceiver($this$withReceiver: java.lang.String, a: int, b: float) : void {...}]
UParameter (name = $this$withReceiver) [var $this$withReceiver: java.lang.String]
UParameter (name = a) [var a: int]
UParameter (name = b) [var b: float]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = call) [public static final fun call() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
@@ -28,7 +28,7 @@ UFile (package = ) [public final class ParametersDisorderKt {...]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = objectLiteral) [public static final fun objectLiteral() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Parent
[!] UnknownKotlinExpression (OBJECT_LITERAL) [[!] UnknownKotlinExpression (OBJECT_LITERAL)]
UClass (name = A) [public final class A {...}]
UMethod (name = A) [public fun A() = UastEmptyExpression]
@@ -36,7 +36,7 @@ UFile (package = ) [public final class ParametersDisorderKt {...]
UParameter (name = $this$with2Receivers) [var $this$with2Receivers: java.lang.String]
UParameter (name = a) [var a: int]
UParameter (name = b) [var b: float]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UClass (name = Parent) [public class Parent {...}]
UMethod (name = Parent) [public fun Parent(a: java.lang.String, b: int) = UastEmptyExpression]
UParameter (name = a) [var a: java.lang.String]
@@ -4,7 +4,7 @@ UFile (package = ) [public final class ParametersWithDefaultValuesKt {...]
UParameter (name = a) [var a: int]
UParameter (name = b) [var b: java.lang.String]
UParameter (name = c) [var c: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UParameter (name = flag) [var flag: boolean = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
UBlockExpression [{...}]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:boolean
UBlockExpression [{...}] : PsiType:Unit
@@ -7,8 +7,8 @@ UFile (package = ) [public final class PropertyTest {...]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UMethod (name = setStringRepresentation) [public final fun setStringRepresentation(value: java.lang.String) : void {...}]
UParameter (name = value) [var value: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = setDataFromString) [public final fun setDataFromString(data: java.lang.String) : void {...}]
UParameter (name = data) [var data: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -2,6 +2,6 @@ UFile (package = ) [public final class PropertyDelegateKt {...]
UClass (name = PropertyDelegateKt) [public final class PropertyDelegateKt {...}]
UMethod (name = getSdCardPath) [public static final fun getSdCardPath() : java.lang.String = UastEmptyExpression]
UMethod (name = localPropertyTest) [public static final fun localPropertyTest() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UMethod (name = getAnnotatedDelegate) [public static final fun getAnnotatedDelegate() : int = UastEmptyExpression]
@@ -7,5 +7,5 @@ UFile (package = ) [public final class TestPropertyInitializer {...]
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UMethod (name = setWithSetter) [public final fun setWithSetter(p: java.lang.String) : void {...}]
UParameter (name = p) [var p: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -1,7 +1,7 @@
UFile (package = ) [public final class PropertyReferencesKt {...]
UClass (name = PropertyReferencesKt) [public final class PropertyReferencesKt {...}]
UMethod (name = properties) [public static final fun properties() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:int
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -10,7 +10,7 @@ UFile (package = ) [public final class PropertyReferencesKt {...]
[!] UnknownKotlinExpression (POSTFIX_EXPRESSION) [[!] UnknownKotlinExpression (POSTFIX_EXPRESSION)]
UMethod (name = ext) [public static final fun ext($this$ext: A) : void {...}]
UParameter (name = $this$ext) [var $this$ext: A]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:int
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
@@ -18,7 +18,7 @@ UFile (package = ) [public final class PropertyReferencesKt {...]
[!] UnknownKotlinExpression (POSTFIX_EXPRESSION) [[!] UnknownKotlinExpression (POSTFIX_EXPRESSION)]
UClass (name = A) [public final class A {...}]
UField (name = privateProp) [private var privateProp: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UField (name = mutableProp) [private var mutableProp: int]
UMethod (name = A) [public fun A(init: int) = UastEmptyExpression]
UParameter (name = init) [var init: int]
@@ -27,8 +27,8 @@ UFile (package = ) [public final class PropertyReferencesKt {...]
UParameter (name = value) [var value: int]
UMethod (name = add) [public final fun add(x: int) : int {...}]
UParameter (name = x) [var x: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
@@ -1,18 +1,18 @@
UFile (package = ) [public final class PropertyWithAnnotationKt {...]
UClass (name = PropertyWithAnnotationKt) [public final class PropertyWithAnnotationKt {...}]
UField (name = prop1) [private static final var prop1: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = getProp1) [public static final fun getProp1() : int = UastEmptyExpression]
UMethod (name = getProp2) [public static final fun getProp2() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = getProp3) [public static final fun getProp3() : int {...}]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UMethod (name = setProp3) [public static final fun setProp3(value: int) : void {...}]
UParameter (name = value) [var value: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
UClass (name = TestAnnotation) [public abstract annotation TestAnnotation {...}]
@@ -4,6 +4,6 @@ UFile (package = A.B.C) [package A.B.C...]
UClass (name = Bar) [public final class Bar {...}]
UMethod (name = Bar) [public fun Bar() = UastEmptyExpression]
UMethod (name = getFoo) [public final fun getFoo() : A.B.C.Foo {...}]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Void
UReturnExpression [return [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
@@ -7,8 +7,8 @@ UFile (package = ) [public final class ReceiverFunKt {...]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UMethod (name = getRx) [public static final fun getRx($this$rx: java.lang.String) : kotlin.text.Regex {...}]
UParameter (name = $this$rx) [var $this$rx: java.lang.String]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (CALL_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Regex
UReturnExpression [return [!] UnknownKotlinExpression (CALL_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UClass (name = MyReceiverAnnotation) [public abstract annotation MyReceiverAnnotation {...}]
UMethod (name = name) [public abstract fun name() : java.lang.String = UastEmptyExpression]
@@ -1,7 +1,7 @@
UFile (package = ) [public final class ReifiedResolveKt {...]
UClass (name = ReifiedResolveKt) [public final class ReifiedResolveKt {...}]
UMethod (name = resolve) [public static final fun resolve() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
@@ -4,8 +4,8 @@ UFile (package = ) [public final class ReifiedReturnTypeKt {...]
UParameter (name = list) [var list: java.util.List<? extends T>]
UParameter (name = threshold) [var threshold: T]
UParameter (name = threshold2) [var threshold2: B]
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Void
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UClass (name = Foo) [public final class Foo {...}]
UMethod (name = Foo) [public fun Foo() = UastEmptyExpression]
@@ -1,7 +1,7 @@
UFile (package = ) [public final class ResolveKt {...]
UClass (name = ResolveKt) [public final class ResolveKt {...}]
UMethod (name = bar) [public static final fun bar() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:IntRange
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
@@ -17,14 +17,14 @@ UFile (package = ) [public final class ResolveKt {...]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = barT) [public static final fun barT(t: T) : void {...}]
UParameter (name = t) [var t: T]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UMethod (name = barTL) [public static final fun barTL(listT: T) : void {...}]
UParameter (name = listT) [var listT: T]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
[!] UnknownKotlinExpression (FOR) [[!] UnknownKotlinExpression (FOR)]
UClass (name = A) [public class A {...}]
UMethod (name = A) [public fun A() = UastEmptyExpression]
UMethod (name = foo) [public final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -15,11 +15,11 @@ UFile (package = ) [import java.lang.Thread...]
UMethod (name = setFoo) [public static final fun setFoo(value: java.lang.Runnable) : void = UastEmptyExpression]
UParameter (name = value) [var value: java.lang.Runnable]
UMethod (name = bar) [public static final fun bar() : java.lang.Runnable {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (BINARY_EXPRESSION) [[!] UnknownKotlinExpression (BINARY_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (LAMBDA_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (LAMBDA_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (LAMBDA_EXPRESSION) [[!] UnknownKotlinExpression (LAMBDA_EXPRESSION)]
UMethod (name = getBaz) [public static final fun getBaz() : java.lang.Runnable = UastEmptyExpression]
UMethod (name = runRunnable) [public static final fun runRunnable(r: java.lang.Runnable) : error.NonExistentClass {...}]
@@ -28,13 +28,13 @@ UFile (package = ) [import java.lang.Thread...]
UReturnExpression [return [!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = test1) [public static final fun test1() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UMethod (name = test2) [public static final fun test2() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UMethod (name = test3) [public static final fun test3() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:String
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = ambiguousSamAcceptor) [public static final fun ambiguousSamAcceptor(s: java.util.function.Supplier<java.lang.String>) : java.lang.String {...}]
@@ -4,6 +4,6 @@ UFile (package = ) [public final class Simple {...]
ULiteralExpression (value = "Mary") ["Mary"] : PsiType:String
UMethod (name = Simple) [public fun Simple() = UastEmptyExpression]
UMethod (name = method) [public final fun method() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = getProperty) [public final fun getProperty() : java.lang.String = UastEmptyExpression]
@@ -4,6 +4,6 @@ UFile (package = ) [public final class SimpleAnnotated {...]
ULiteralExpression (value = "Mary") ["Mary"] : PsiType:String
UMethod (name = SimpleAnnotated) [public fun SimpleAnnotated() = UastEmptyExpression]
UMethod (name = method) [public final fun method() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = getProperty) [public final fun getProperty() : java.lang.String = UastEmptyExpression]
@@ -7,7 +7,7 @@ UFile (package = ) [public final class StringTemplateKt {...]
UField (name = baz) [private static final var baz: java.lang.String = "dolor"]
ULiteralExpression (value = "dolor") ["dolor"] : PsiType:String
UField (name = foobarbaz) [private static final var foobarbaz: java.lang.String = [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " " + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:String
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
ULiteralExpression (value = " ") [" "] : PsiType:String
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
@@ -3,26 +3,26 @@ UFile (package = ) [public final class StringTemplateComplexKt {...]
UField (name = muchRecur) [private static final var muchRecur: java.lang.String = "abc"]
ULiteralExpression (value = "abc") ["abc"] : PsiType:String
UField (name = case4) [private static final var case4: java.lang.String = "a " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = case5) [private static final var case5: java.lang.String = "a " + "literal" + " " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " " + "literal" + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " ") [" "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = literalInLiteral) [private static final var literalInLiteral: java.lang.String = "a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
UPolyadicExpression (operator = +) ["literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) ["literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = literalInLiteral2) [private static final var literalInLiteral2: java.lang.String = "a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
ULiteralExpression (value = " z") [" z"] : PsiType:String
@@ -36,12 +36,12 @@ UFile (package = ) [public final class StringTemplateComplexKt {...]
UMethod (name = getEmpty) [public static final fun getEmpty() : java.lang.String = UastEmptyExpression]
UMethod (name = simpleForTemplate) [public static final fun simpleForTemplate(i: int) : java.lang.String {...}]
UParameter (name = i) [var i: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -3,26 +3,26 @@ UFile (package = ) [public final class StringTemplateComplexForUInjectionHostKt
UField (name = muchRecur) [private static final var muchRecur: java.lang.String = "abc"]
ULiteralExpression (value = "abc") ["abc"] : PsiType:String
UField (name = case4) [private static final var case4: java.lang.String = "a " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = case5) [private static final var case5: java.lang.String = "a " + "literal" + " " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " " + "literal" + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + " " + "literal" + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " ") [" "] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = literalInLiteral) [private static final var literalInLiteral: java.lang.String = "a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + "literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION) + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
UPolyadicExpression (operator = +) ["literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) ["literal" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:String
ULiteralExpression (value = "literal") ["literal"] : PsiType:String
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
ULiteralExpression (value = " z") [" z"] : PsiType:String
UField (name = literalInLiteral2) [private static final var literalInLiteral2: java.lang.String = "a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"]
UPolyadicExpression (operator = +) ["a " + [!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) + " z"] : PsiType:String
ULiteralExpression (value = "a ") ["a "] : PsiType:String
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
ULiteralExpression (value = " z") [" z"] : PsiType:String
@@ -36,12 +36,12 @@ UFile (package = ) [public final class StringTemplateComplexForUInjectionHostKt
UMethod (name = getEmpty) [public static final fun getEmpty() : java.lang.String = UastEmptyExpression]
UMethod (name = simpleForTemplate) [public static final fun simpleForTemplate(i: int) : java.lang.String {...}]
UParameter (name = i) [var i: int = "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:int
UBlockExpression [{...}]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -3,7 +3,7 @@ UFile (package = ) [public final class StringTemplateWithVarKt {...]
UField (name = bar) [private static final var bar: java.lang.String = "bar"]
ULiteralExpression (value = "bar") ["bar"] : PsiType:String
UField (name = f) [private static final var f: java.lang.String = "foo" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) ["foo" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UPolyadicExpression (operator = +) ["foo" + [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:String
ULiteralExpression (value = "foo") ["foo"] : PsiType:String
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UMethod (name = getBar) [public static final fun getBar() : java.lang.String = UastEmptyExpression]
@@ -5,7 +5,7 @@ UFile (package = ) [public final class SuperCallsKt {...]
UMethod (name = getAnon) [public static final fun getAnon() : A = UastEmptyExpression]
UMethod (name = cons) [public static final fun cons(a: A) : void {...}]
UParameter (name = a) [var a: A]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UClass (name = A) [public class A {...}]
UField (name = str) [private final var str: java.lang.String]
UMethod (name = A) [public fun A(str: java.lang.String) = UastEmptyExpression]
@@ -15,7 +15,7 @@ UFile (package = ) [public final class SuperCallsKt {...]
UMethod (name = getStr) [public final fun getStr() : java.lang.String = UastEmptyExpression]
UMethod (name = foo) [public fun foo(a: long) : void {...}]
UParameter (name = a) [var a: long]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UClass (name = B) [public final class B : null {...}]
UMethod (name = B) [public fun B(param: java.lang.String) = UastEmptyExpression]
UParameter (name = param) [var param: java.lang.String]
@@ -24,11 +24,11 @@ UFile (package = ) [public final class SuperCallsKt {...]
UParameter (name = p) [var p: java.lang.String]
UMethod (name = C) [public fun C(i: int) {...}]
UParameter (name = i) [var i: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = foo) [public fun foo(a: long) : void {...}]
UParameter (name = a) [var a: long]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UClass (name = O) [public final class O : null {...}]
UField (name = INSTANCE) [public static final var INSTANCE: O]
@@ -2,22 +2,22 @@ UFile (package = ) [public final class TryCatch {...]
UClass (name = TryCatch) [public final class TryCatch {...}]
UMethod (name = TryCatch) [public fun TryCatch() = UastEmptyExpression]
UMethod (name = catches) [public final fun catches() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (TRY) [[!] UnknownKotlinExpression (TRY)]
UMethod (name = body) [public final fun body() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = catcher) [public final fun catcher() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = finalizer) [public final fun finalizer() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UClass (name = TryCatchAnnotations) [public final class TryCatchAnnotations {...}]
UMethod (name = TryCatchAnnotations) [public fun TryCatchAnnotations() = UastEmptyExpression]
UMethod (name = catches) [public final fun catches() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (TRY) [[!] UnknownKotlinExpression (TRY)]
UMethod (name = body) [public final fun body() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = catcher) [public final fun catcher() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
UMethod (name = finalizer) [public final fun finalizer() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -5,10 +5,10 @@ UFile (package = ) [public final class TypeAliasExpansionWithOtherAliasInArgumen
UParameter (name = x) [var x: kotlin.jvm.functions.Function1]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:Void
UMethod (name = bar) [public static final fun bar($this$bar: java.util.Map<java.lang.String,? extends java.lang.Integer>, x: java.util.Map<java.lang.String,? extends java.lang.Integer>) : java.util.Map<java.lang.String,? extends java.lang.Integer> {...}]
UParameter (name = $this$bar) [var $this$bar: java.util.Map<java.lang.String,? extends java.lang.Integer>]
UParameter (name = x) [var x: java.util.Map<java.lang.String,? extends java.lang.Integer>]
UBlockExpression [{...}]
UReturnExpression [return "not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"]
ULiteralExpression (value = "not-yet-compile-time-constant") ["not-yet-compile-time-constant"] : PsiType:Void
@@ -2,4 +2,4 @@ UFile (package = ) [public final class C {...]
UClass (name = C) [public final class C {...}]
UMethod (name = C) [public fun C() = UastEmptyExpression]
UMethod (name = foo) [public final fun foo() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
@@ -2,15 +2,15 @@ UFile (package = ) [public final class TypeReferencesKt {...]
UClass (name = TypeReferencesKt) [public final class TypeReferencesKt {...}]
UMethod (name = foo) [public static final fun foo(parameter: int) : java.lang.String {...}]
UParameter (name = parameter) [var parameter: int]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Void
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UReturnExpression [return [!] UnknownKotlinExpression (REFERENCE_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
UMethod (name = parameterizedFoo) [public static final fun parameterizedFoo(arg: T) : void {...}]
UParameter (name = arg) [var arg: T]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
@@ -7,6 +7,6 @@ UFile (package = ) [public abstract interface Callback {...]
UMethod (name = crashMe) [public final fun crashMe(clazz: java.lang.Class<T>, factory: kotlin.jvm.functions.Function0<? extends T>) : void {...}]
UParameter (name = clazz) [var clazz: java.lang.Class<T>]
UParameter (name = factory) [var factory: kotlin.jvm.functions.Function0<? extends T>]
UBlockExpression [{...}]
UThrowExpression [throw [!] UnknownKotlinExpression (CALL_EXPRESSION)]
UBlockExpression [{...}] : PsiType:Void
UThrowExpression [throw [!] UnknownKotlinExpression (CALL_EXPRESSION)] : PsiType:Void
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
@@ -2,6 +2,6 @@ UFile (package = ) [public final class WhenAndDestructingKt {...]
UClass (name = WhenAndDestructingKt) [public final class WhenAndDestructingKt {...}]
UMethod (name = getElementsAdditionalResolve) [public static final fun getElementsAdditionalResolve(string: java.lang.String) : java.lang.String {...}]
UParameter (name = string) [var string: java.lang.String]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
[!] UnknownKotlinExpression (WHEN) [[!] UnknownKotlinExpression (WHEN)]
@@ -7,6 +7,6 @@ UFile (package = ) [public final class WhenStringLiteralKt {...]
UMethod (name = getA) [public static final fun getA() : java.lang.String = UastEmptyExpression]
UMethod (name = getB) [public static final fun getB() : int = UastEmptyExpression]
UMethod (name = <no name provided>) [public static final fun <no name provided>() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:String
ULiteralExpression (value = "abc1") ["abc1"] : PsiType:String
ULiteralExpression (value = "def1") ["def1"] : PsiType:String
@@ -1,7 +1,7 @@
UFile (package = ) [public final class Ea101715Kt {...]
UClass (name = Ea101715Kt) [public final class Ea101715Kt {...}]
UMethod (name = a) [public static final fun a() : void {...}]
UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:Unit
[!] UnknownKotlinExpression (PROPERTY) [[!] UnknownKotlinExpression (PROPERTY)]
UClass (name = Obj) [public final class Obj {...}]
UField (name = INSTANCE) [public static final var INSTANCE: Obj]