Uast: KotlinClassViaConstructorUSimpleReferenceExpression resolve to PsiClass (KT-41290)

This commit is contained in:
Nicolay Mitropolsky
2020-08-25 15:22:04 +03:00
parent 99924ea5e4
commit c93ae64546
27 changed files with 78 additions and 74 deletions
@@ -16,19 +16,16 @@
package org.jetbrains.uast.kotlin package org.jetbrains.uast.kotlin
import com.intellij.psi.PsiClassType import com.intellij.psi.*
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiNamedElement
import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.resolve.sam.SamConstructorDescriptor
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
import org.jetbrains.kotlin.resolve.calls.tower.NewResolvedCallImpl import org.jetbrains.kotlin.resolve.calls.tower.NewResolvedCallImpl
import org.jetbrains.kotlin.resolve.sam.SamConstructorDescriptor
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
import org.jetbrains.uast.* import org.jetbrains.uast.*
import org.jetbrains.uast.internal.acceptList import org.jetbrains.uast.internal.acceptList
@@ -177,7 +174,7 @@ class KotlinClassViaConstructorUSimpleReferenceExpression(
private val resolved by lazy { private val resolved by lazy {
when (val resultingDescriptor = sourcePsi.getResolvedCall(sourcePsi.analyze())?.descriptorForResolveViaConstructor()) { when (val resultingDescriptor = sourcePsi.getResolvedCall(sourcePsi.analyze())?.descriptorForResolveViaConstructor()) {
is ConstructorDescriptor -> { is ConstructorDescriptor -> {
sourcePsi.calleeExpression?.let { resolveToDeclaration(it, resultingDescriptor) } sourcePsi.calleeExpression?.let { resolveToDeclaration(it, resultingDescriptor.constructedClass) }
} }
is SamConstructorDescriptor -> is SamConstructorDescriptor ->
(resultingDescriptor.returnType?.getFunctionalInterfaceType(this, sourcePsi) as? PsiClassType)?.resolve() (resultingDescriptor.returnType?.getFunctionalInterfaceType(this, sourcePsi) as? PsiClassType)?.resolve()
@@ -191,7 +188,14 @@ class KotlinClassViaConstructorUSimpleReferenceExpression(
override fun resolve(): PsiElement? = resolved override fun resolve(): PsiElement? = resolved
override fun asLogString(): String = log<USimpleNameReferenceExpression>("identifier = $identifier, resolvesTo = $resolvedName") override fun asLogString(): String {
val resolveStr = when(val resolved = resolve()){
is PsiClass -> "PsiClass: ${resolved.name}"
is PsiMethod -> "PsiMethod: ${resolved.name}"
else -> resolved.toString()
}
return log<USimpleNameReferenceExpression>("identifier = $identifier, resolvesTo = $resolveStr")
}
// In new inference, SAM constructor is substituted with a function descriptor, so we use candidate descriptor to preserve behavior // In new inference, SAM constructor is substituted with a function descriptor, so we use candidate descriptor to preserve behavior
private fun ResolvedCall<*>.descriptorForResolveViaConstructor(): CallableDescriptor? { private fun ResolvedCall<*>.descriptorForResolveViaConstructor(): CallableDescriptor? {
+4 -4
View File
@@ -11,14 +11,14 @@ UFile (package = )
UNamedExpression (name = value) UNamedExpression (name = value)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Annotation)) UIdentifier (Identifier (Annotation))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Annotation) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Annotation)
UMethod (name = B1) UMethod (name = B1)
UClass (name = B2) UClass (name = B2)
UAnnotation (fqName = AnnotationArray) UAnnotation (fqName = AnnotationArray)
UNamedExpression (name = value) UNamedExpression (name = value)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 2)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 2))
UIdentifier (Identifier (Annotation)) UIdentifier (Identifier (Annotation))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Annotation) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Annotation)
ULiteralExpression (value = "sv1") ULiteralExpression (value = "sv1")
ULiteralExpression (value = "sv2") ULiteralExpression (value = "sv2")
UMethod (name = B2) UMethod (name = B2)
@@ -29,7 +29,7 @@ UFile (package = )
UNamedExpression (name = value) UNamedExpression (name = value)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (Annotation)) UIdentifier (Identifier (Annotation))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Annotation) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Annotation)
UCallExpression (kind = UastCallKind(name='array_initializer'), argCount = 2)) UCallExpression (kind = UastCallKind(name='array_initializer'), argCount = 2))
UIdentifier (Identifier (arrayOf)) UIdentifier (Identifier (arrayOf))
USimpleNameReferenceExpression (identifier = arrayOf, resolvesTo = null) USimpleNameReferenceExpression (identifier = arrayOf, resolvesTo = null)
@@ -41,7 +41,7 @@ UFile (package = )
UNamedExpression (name = value) UNamedExpression (name = value)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (Annotation)) UIdentifier (Identifier (Annotation))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Annotation) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Annotation)
UCallExpression (kind = UastCallKind(name='array_initializer'), argCount = 2)) UCallExpression (kind = UastCallKind(name='array_initializer'), argCount = 2))
UIdentifier (Identifier ([)) UIdentifier (Identifier ([))
ULiteralExpression (value = "[sar]1") ULiteralExpression (value = "[sar]1")
+1 -1
View File
@@ -20,7 +20,7 @@ UFile (package = )
ULocalVariable (name = runnable2) ULocalVariable (name = runnable2)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
UIdentifier (Identifier (Runnable)) UIdentifier (Identifier (Runnable))
USimpleNameReferenceExpression (identifier = Runnable, resolvesTo = Runnable) USimpleNameReferenceExpression (identifier = Runnable, resolvesTo = PsiClass: Runnable)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
+1 -1
View File
@@ -20,7 +20,7 @@ UFile (package = )
ULocalVariable (name = runnable2) ULocalVariable (name = runnable2)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
UIdentifier (Identifier (Runnable)) UIdentifier (Identifier (Runnable))
USimpleNameReferenceExpression (identifier = Runnable, resolvesTo = Runnable) USimpleNameReferenceExpression (identifier = Runnable, resolvesTo = PsiClass: Runnable)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -7,7 +7,7 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (BaseImpl)) UIdentifier (Identifier (BaseImpl))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = BaseImpl) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: BaseImpl)
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UClass (name = Base) UClass (name = Base)
UMethod (name = print) UMethod (name = print)
+1 -1
View File
@@ -7,7 +7,7 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (BaseImpl)) UIdentifier (Identifier (BaseImpl))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = BaseImpl) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: BaseImpl)
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UClass (name = Base) UClass (name = Base)
UMethod (name = print) UMethod (name = print)
+7 -7
View File
@@ -12,7 +12,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -36,7 +36,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = AWithInit) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: AWithInit)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -66,7 +66,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = AWith2Init) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: AWith2Init)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -98,7 +98,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
UQualifiedReferenceExpression UQualifiedReferenceExpression
@@ -112,7 +112,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
USimpleNameReferenceExpression (identifier = s) USimpleNameReferenceExpression (identifier = s)
@@ -129,7 +129,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (println)) UIdentifier (Identifier (println))
@@ -147,7 +147,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
USimpleNameReferenceExpression (identifier = s) USimpleNameReferenceExpression (identifier = s)
+7 -7
View File
@@ -12,7 +12,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -36,7 +36,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = AWithInit) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: AWithInit)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -66,7 +66,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = AWith2Init) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: AWith2Init)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -98,7 +98,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
UQualifiedReferenceExpression UQualifiedReferenceExpression
@@ -112,7 +112,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
USimpleNameReferenceExpression (identifier = s) USimpleNameReferenceExpression (identifier = s)
@@ -129,7 +129,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (println)) UIdentifier (Identifier (println))
@@ -147,7 +147,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier ()) UIdentifier (Identifier ())
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Object) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Object)
UBinaryExpression (operator = =) UBinaryExpression (operator = =)
USimpleNameReferenceExpression (identifier = a) USimpleNameReferenceExpression (identifier = a)
USimpleNameReferenceExpression (identifier = s) USimpleNameReferenceExpression (identifier = s)
+3 -3
View File
@@ -27,7 +27,7 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3))
UIdentifier (Identifier (MyColor)) UIdentifier (Identifier (MyColor))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor)
ULiteralExpression (value = 18) ULiteralExpression (value = 18)
ULiteralExpression (value = 2) ULiteralExpression (value = 2)
ULiteralExpression (value = 3) ULiteralExpression (value = 3)
@@ -41,7 +41,7 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3))
UIdentifier (Identifier (MyColor)) UIdentifier (Identifier (MyColor))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor)
ULiteralExpression (value = 1) ULiteralExpression (value = 1)
ULiteralExpression (value = 2) ULiteralExpression (value = 2)
ULiteralExpression (value = 3) ULiteralExpression (value = 3)
@@ -49,7 +49,7 @@ UFile (package = )
UAnnotation (fqName = org.jetbrains.annotations.NotNull) UAnnotation (fqName = org.jetbrains.annotations.NotNull)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3))
UIdentifier (Identifier (MyColor)) UIdentifier (Identifier (MyColor))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor)
ULiteralExpression (value = 1) ULiteralExpression (value = 1)
ULiteralExpression (value = 2) ULiteralExpression (value = 2)
ULiteralExpression (value = 3) ULiteralExpression (value = 3)
+3 -3
View File
@@ -31,7 +31,7 @@ UFile (package = ) [public final class MyColor {...]
UReturnExpression [return <init>(18, 2, 3)] = Nothing UReturnExpression [return <init>(18, 2, 3)] = Nothing
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(18, 2, 3)] = external <init>(18, 2, 3)(18, 2, 3) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(18, 2, 3)] = external <init>(18, 2, 3)(18, 2, 3)
UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))] UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) [<init>] = external <init>(18, 2, 3)(18, 2, 3) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor) [<init>] = external <init>(18, 2, 3)(18, 2, 3)
ULiteralExpression (value = 18) [18] = 18 ULiteralExpression (value = 18) [18] = 18
ULiteralExpression (value = 2) [2] = 2 ULiteralExpression (value = 2) [2] = 2
ULiteralExpression (value = 3) [3] = 3 ULiteralExpression (value = 3) [3] = 3
@@ -49,7 +49,7 @@ UFile (package = ) [public final class MyColor {...]
UReturnExpression [return <init>(1, 2, 3)] = Nothing UReturnExpression [return <init>(1, 2, 3)] = Nothing
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(1, 2, 3)] = external <init>(1, 2, 3)(1, 2, 3) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(1, 2, 3)] = external <init>(1, 2, 3)(1, 2, 3)
UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))] UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) [<init>] = external <init>(1, 2, 3)(1, 2, 3) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor) [<init>] = external <init>(1, 2, 3)(1, 2, 3)
ULiteralExpression (value = 1) [1] = 1 ULiteralExpression (value = 1) [1] = 1
ULiteralExpression (value = 2) [2] = 2 ULiteralExpression (value = 2) [2] = 2
ULiteralExpression (value = 3) [3] = 3 ULiteralExpression (value = 3) [3] = 3
@@ -57,7 +57,7 @@ UFile (package = ) [public final class MyColor {...]
UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull] UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(1, 2, 3)] = external <init>(1, 2, 3)(1, 2, 3) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 3)) [<init>(1, 2, 3)] = external <init>(1, 2, 3)(1, 2, 3)
UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))] UIdentifier (Identifier (MyColor)) [UIdentifier (Identifier (MyColor))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = MyColor) [<init>] = external <init>(1, 2, 3)(1, 2, 3) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: MyColor) [<init>] = external <init>(1, 2, 3)(1, 2, 3)
ULiteralExpression (value = 1) [1] = 1 ULiteralExpression (value = 1) [1] = 1
ULiteralExpression (value = 2) [2] = 2 ULiteralExpression (value = 2) [2] = 2
ULiteralExpression (value = 3) [3] = 3 ULiteralExpression (value = 3) [3] = 3
+3 -3
View File
@@ -12,14 +12,14 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
UDeclarationsExpression UDeclarationsExpression
ULocalVariable (name = baz) ULocalVariable (name = baz)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
UDeclarationsExpression UDeclarationsExpression
UVariable (name = someLocalFun) UVariable (name = someLocalFun)
ULambdaExpression ULambdaExpression
@@ -35,4 +35,4 @@ UFile (package = )
USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) USimpleNameReferenceExpression (identifier = bar, resolvesTo = null)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
+3 -3
View File
@@ -12,14 +12,14 @@ UFile (package = )
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
UDeclarationsExpression UDeclarationsExpression
ULocalVariable (name = baz) ULocalVariable (name = baz)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
UDeclarationsExpression UDeclarationsExpression
UVariable (name = someLocalFun) UVariable (name = someLocalFun)
ULambdaExpression ULambdaExpression
@@ -35,4 +35,4 @@ UFile (package = )
USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) USimpleNameReferenceExpression (identifier = bar, resolvesTo = null)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Local)) UIdentifier (Identifier (Local))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)
+3 -3
View File
@@ -12,14 +12,14 @@ UFile (package = ) [public final class LocalDeclarationsKt {...]
UReturnExpression [return <init>()] UReturnExpression [return <init>()]
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType>
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] : PsiType:<ErrorType> USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] : PsiType:<ErrorType>
UDeclarationsExpression [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}] UDeclarationsExpression [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}]
ULocalVariable (name = baz) [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}] ULocalVariable (name = baz) [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}]
ULambdaExpression [fun () {...}] ULambdaExpression [fun () {...}]
UBlockExpression [{...}] : PsiType:<ErrorType> UBlockExpression [{...}] : PsiType:<ErrorType>
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType>
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] : PsiType:<ErrorType> USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] : PsiType:<ErrorType>
UDeclarationsExpression [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] UDeclarationsExpression [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}]
UVariable (name = someLocalFun) [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] UVariable (name = someLocalFun) [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}]
ULambdaExpression [fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] ULambdaExpression [fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}]
@@ -35,4 +35,4 @@ UFile (package = ) [public final class LocalDeclarationsKt {...]
USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) [bar] : PsiType:<ErrorType> USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) [bar] : PsiType:<ErrorType>
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:<ErrorType>
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] : PsiType:<ErrorType> USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] : PsiType:<ErrorType>
+3 -3
View File
@@ -12,14 +12,14 @@ UFile (package = ) [public final class LocalDeclarationsKt {...]
UReturnExpression [return <init>()] = Undetermined UReturnExpression [return <init>()] = Undetermined
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()() UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()()
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] = external <init>()() USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] = external <init>()()
UDeclarationsExpression [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}] = Undetermined UDeclarationsExpression [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}] = Undetermined
ULocalVariable (name = baz) [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}] ULocalVariable (name = baz) [var baz: kotlin.jvm.functions.Function0<? extends kotlin.Unit> = fun () {...}]
ULambdaExpression [fun () {...}] = Undetermined ULambdaExpression [fun () {...}] = Undetermined
UBlockExpression [{...}] = external <init>()() UBlockExpression [{...}] = external <init>()()
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()() UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()()
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] = external <init>()() USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] = external <init>()()
UDeclarationsExpression [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] = Undetermined UDeclarationsExpression [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] = Undetermined
UVariable (name = someLocalFun) [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] UVariable (name = someLocalFun) [var someLocalFun: kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.String,? extends java.lang.Integer> = fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}]
ULambdaExpression [fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] = Undetermined ULambdaExpression [fun (@org.jetbrains.annotations.NotNull var text: java.lang.String) {...}] = Undetermined
@@ -35,4 +35,4 @@ UFile (package = ) [public final class LocalDeclarationsKt {...]
USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) [bar] = external bar()() USimpleNameReferenceExpression (identifier = bar, resolvesTo = null) [bar] = external bar()()
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()() UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()()
UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))] UIdentifier (Identifier (Local)) [UIdentifier (Identifier (Local))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local) [<init>] = external <init>()() USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local) [<init>] = external <init>()()
+1 -1
View File
@@ -11,7 +11,7 @@ UFile (package = )
ULocalVariable (name = p) ULocalVariable (name = p)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
UIdentifier (Identifier ({)) UIdentifier (Identifier ({))
USimpleNameReferenceExpression (identifier = invoke, resolvesTo = null) USimpleNameReferenceExpression (identifier = invoke, resolvesTo = null)
@@ -128,7 +128,7 @@ UFile (package = )
USimpleNameReferenceExpression (identifier = with, resolvesTo = null) USimpleNameReferenceExpression (identifier = with, resolvesTo = null)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UQualifiedReferenceExpression UQualifiedReferenceExpression
+1 -1
View File
@@ -128,7 +128,7 @@ UFile (package = )
USimpleNameReferenceExpression (identifier = with, resolvesTo = null) USimpleNameReferenceExpression (identifier = with, resolvesTo = null)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULambdaExpression ULambdaExpression
UBlockExpression UBlockExpression
UQualifiedReferenceExpression UQualifiedReferenceExpression
@@ -13,5 +13,5 @@ UFile (package = A.B.C)
USimpleNameReferenceExpression (identifier = C) USimpleNameReferenceExpression (identifier = C)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Foo)) UIdentifier (Identifier (Foo))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Foo) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Foo)
UMethod (name = Bar) UMethod (name = Bar)
+1 -1
View File
@@ -9,7 +9,7 @@ UFile (package = )
USimpleNameReferenceExpression (identifier = flag) USimpleNameReferenceExpression (identifier = flag)
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (Bar)) UIdentifier (Identifier (Bar))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Bar) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Bar)
ULiteralExpression (value = 42) ULiteralExpression (value = 42)
ULiteralExpression (value = null) ULiteralExpression (value = null)
UMethod (name = main) UMethod (name = main)
+6 -6
View File
@@ -20,7 +20,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULiteralExpression (value = "inner class") ULiteralExpression (value = "inner class")
UMethod (name = getAnon) UMethod (name = getAnon)
UMethod (name = cons) UMethod (name = cons)
@@ -44,7 +44,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -57,7 +57,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = param) USimpleNameReferenceExpression (identifier = param)
UClass (name = C) UClass (name = C)
UMethod (name = foo) UMethod (name = foo)
@@ -76,7 +76,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (super)) UIdentifier (Identifier (super))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = p) USimpleNameReferenceExpression (identifier = p)
UMethod (name = C) UMethod (name = C)
UParameter (name = i) UParameter (name = i)
@@ -84,7 +84,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (super)) UIdentifier (Identifier (super))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (println)) UIdentifier (Identifier (println))
@@ -96,5 +96,5 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULiteralExpression (value = "text") ULiteralExpression (value = "text")
+6 -6
View File
@@ -20,7 +20,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULiteralExpression (value = "inner class") ULiteralExpression (value = "inner class")
UMethod (name = getAnon) UMethod (name = getAnon)
UMethod (name = cons) UMethod (name = cons)
@@ -44,7 +44,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (this)) UIdentifier (Identifier (this))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
UQualifiedReferenceExpression UQualifiedReferenceExpression
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
@@ -57,7 +57,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = param) USimpleNameReferenceExpression (identifier = param)
UClass (name = C) UClass (name = C)
UMethod (name = foo) UMethod (name = foo)
@@ -76,7 +76,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (super)) UIdentifier (Identifier (super))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = p) USimpleNameReferenceExpression (identifier = p)
UMethod (name = C) UMethod (name = C)
UParameter (name = i) UParameter (name = i)
@@ -84,7 +84,7 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (super)) UIdentifier (Identifier (super))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
USimpleNameReferenceExpression (identifier = i) USimpleNameReferenceExpression (identifier = i)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (println)) UIdentifier (Identifier (println))
@@ -96,5 +96,5 @@ UFile (package = )
UBlockExpression UBlockExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (A)) UIdentifier (Identifier (A))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = A) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: A)
ULiteralExpression (value = "text") ULiteralExpression (value = "text")
+2 -2
View File
@@ -8,7 +8,7 @@ UFile (package = test.pkg)
UQualifiedReferenceExpression UQualifiedReferenceExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Context)) UIdentifier (Identifier (Context))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Context) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Context)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (inner)) UIdentifier (Identifier (inner))
USimpleNameReferenceExpression (identifier = inner, resolvesTo = null) USimpleNameReferenceExpression (identifier = inner, resolvesTo = null)
@@ -27,4 +27,4 @@ UFile (package = test.pkg)
UReturnExpression UReturnExpression
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (inner)) UIdentifier (Identifier (inner))
USimpleNameReferenceExpression (identifier = inner, resolvesTo = null) USimpleNameReferenceExpression (identifier = inner, resolvesTo = null)
+1 -1
View File
@@ -8,7 +8,7 @@ UFile (package = test.pkg)
UQualifiedReferenceExpression UQualifiedReferenceExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (Context)) UIdentifier (Identifier (Context))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Context) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Context)
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
UIdentifier (Identifier (inner)) UIdentifier (Identifier (inner))
USimpleNameReferenceExpression (identifier = inner, resolvesTo = null) USimpleNameReferenceExpression (identifier = inner, resolvesTo = null)
@@ -13,7 +13,7 @@ UFile (package = )
UThrowExpression UThrowExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (UnsupportedOperationException)) UIdentifier (Identifier (UnsupportedOperationException))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException)
UMethod (name = Model) UMethod (name = Model)
UBlockExpression UBlockExpression
UBlockExpression UBlockExpression
@@ -35,6 +35,6 @@ UFile (package = )
UThrowExpression UThrowExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (UnsupportedOperationException)) UIdentifier (Identifier (UnsupportedOperationException))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException)
ULiteralExpression (value = "") ULiteralExpression (value = "")
UMethod (name = ) UMethod (name = )
@@ -13,7 +13,7 @@ UFile (package = )
UThrowExpression UThrowExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))
UIdentifier (Identifier (UnsupportedOperationException)) UIdentifier (Identifier (UnsupportedOperationException))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException)
UMethod (name = Model) UMethod (name = Model)
UBlockExpression UBlockExpression
UBlockExpression UBlockExpression
@@ -35,6 +35,6 @@ UFile (package = )
UThrowExpression UThrowExpression
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
UIdentifier (Identifier (UnsupportedOperationException)) UIdentifier (Identifier (UnsupportedOperationException))
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException)
ULiteralExpression (value = "") ULiteralExpression (value = "")
UMethod (name = Model$1$1) UMethod (name = Model$1$1)
@@ -13,7 +13,7 @@ UFile (package = ) [public abstract interface Callback {...]
UThrowExpression [throw <init>()] : PsiType:Void UThrowExpression [throw <init>()] : PsiType:Void
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:UnsupportedOperationException UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] : PsiType:UnsupportedOperationException
UIdentifier (Identifier (UnsupportedOperationException)) [UIdentifier (Identifier (UnsupportedOperationException))] UIdentifier (Identifier (UnsupportedOperationException)) [UIdentifier (Identifier (UnsupportedOperationException))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) [<init>] : PsiType:UnsupportedOperationException USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException) [<init>] : PsiType:UnsupportedOperationException
UMethod (name = Model) [public fun Model() {...}] UMethod (name = Model) [public fun Model() {...}]
UBlockExpression [{...}] UBlockExpression [{...}]
UBlockExpression [{...}] : PsiType:void UBlockExpression [{...}] : PsiType:void
@@ -35,6 +35,6 @@ UFile (package = ) [public abstract interface Callback {...]
UThrowExpression [throw <init>("")] : PsiType:Void UThrowExpression [throw <init>("")] : PsiType:Void
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) [<init>("")] : PsiType:UnsupportedOperationException UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1)) [<init>("")] : PsiType:UnsupportedOperationException
UIdentifier (Identifier (UnsupportedOperationException)) [UIdentifier (Identifier (UnsupportedOperationException))] UIdentifier (Identifier (UnsupportedOperationException)) [UIdentifier (Identifier (UnsupportedOperationException))]
USimpleNameReferenceExpression (identifier = <init>, resolvesTo = UnsupportedOperationException) [<init>] : PsiType:UnsupportedOperationException USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: UnsupportedOperationException) [<init>] : PsiType:UnsupportedOperationException
ULiteralExpression (value = "") [""] : PsiType:String ULiteralExpression (value = "") [""] : PsiType:String
UMethod (name = Model$1$1) [fun Model$1$1() = UastEmptyExpression] UMethod (name = Model$1$1) [fun Model$1$1() = UastEmptyExpression]
@@ -597,7 +597,7 @@ class KotlinUastApiTest : AbstractKotlinUastTest() {
val localFunctionResolved = localFunction.resolve() val localFunctionResolved = localFunction.resolve()
assertNotNull(localFunctionResolved) assertNotNull(localFunctionResolved)
val classReference = localFunction.classReference ?: kfail("classReference expected") val classReference = localFunction.classReference ?: kfail("classReference expected")
assertEquals("USimpleNameReferenceExpression (identifier = <init>, resolvesTo = Local)", classReference.asLogString()) assertEquals("USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Local)", classReference.asLogString())
val localClass = classReference.resolve().toUElement() ?: kfail("uelement expected") val localClass = classReference.resolve().toUElement() ?: kfail("uelement expected")
assertEquals("UClass (name = Local)", localClass.asLogString()) assertEquals("UClass (name = Local)", localClass.asLogString())
assertEquals(localClass, localFunctionResolved.toUElement()) assertEquals(localClass, localFunctionResolved.toUElement())