Uast: unifying resolve to two methods resolveToDeclaration and resolveToPsiMethod

This commit is contained in:
Nicolay Mitropolsky
2020-04-01 18:52:22 +03:00
parent c3977d7336
commit 89863bd2a3
13 changed files with 135 additions and 123 deletions
+4 -4
View File
@@ -1,10 +1,10 @@
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiClass:Closeable: Closeable
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.io: io
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = io) -> PsiPackage:java.io: io
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Closeable) -> PsiClass:Closeable: Closeable
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiClass:InputStream: InputStream
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.io: io
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = io) -> PsiPackage:java.io: io
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = InputStream) -> PsiClass:InputStream: InputStream
+1 -1
View File
@@ -50,6 +50,6 @@ UBlockExpression -> UCallExpression (kind = UastCallKind(name='constructor_call'
UBinaryExpression (operator = =) -> USimpleNameReferenceExpression (identifier = s) -> Light Parameter: s
UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String
ULocalVariable (name = local) -> USimpleNameReferenceExpression (identifier = s) -> Light Parameter: s
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:toString: toString
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = local) -> LightVariableBuilder:local: local
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to PsiMethod:toString) -> USimpleNameReferenceExpression (identifier = toString) -> PsiMethod:toString: toString
+16 -16
View File
@@ -1,39 +1,39 @@
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiMethod:currentThread: currentThread
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = lang) -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Thread) -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = currentThread) -> PsiMethod:currentThread: currentThread
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiField:NORM_PRIORITY: NORM_PRIORITY
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = lang) -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Thread) -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = NORM_PRIORITY) -> PsiField:NORM_PRIORITY: NORM_PRIORITY
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiClass:UncaughtExceptionHandler: UncaughtExceptionHandler
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = lang) -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Thread) -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = UncaughtExceptionHandler) -> PsiClass:UncaughtExceptionHandler: UncaughtExceptionHandler
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = lang) -> PsiPackage:java.lang: lang
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Thread) -> PsiClass:Thread: Thread
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = sleep) -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiMethod:emptyList: emptyList
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:kotlin.collections: collections
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = kotlin) -> PsiPackage:kotlin: kotlin
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = collections) -> PsiPackage:kotlin.collections: collections
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = emptyList) -> PsiMethod:emptyList: emptyList
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiField:SIZE_BYTES: SIZE_BYTES
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:IntCompanionObject: IntCompanionObject
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Integer: Integer
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = kotlin) -> PsiPackage:kotlin: kotlin
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Int) -> PsiClass:Integer: Integer
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = Companion) -> PsiClass:IntCompanionObject: IntCompanionObject
+11 -11
View File
@@ -14,7 +14,7 @@ UBlockExpression -> UQualifiedReferenceExpression -> KtLightMethodImpl:foo: foo
}
}: A
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to KtLightMethodImpl:inlineFoo) -> USimpleNameReferenceExpression (identifier = inlineFoo) -> KtLightMethodImpl:inlineFoo: inlineFoo
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:forEach: forEach
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = listOf) -> PsiMethod:listOf: listOf
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))(resolves to KtLightMethodImpl:A) -> USimpleNameReferenceExpression (identifier = A) -> KtLightClassImpl:open class A {
fun foo() {}
@@ -25,32 +25,32 @@ UBlockExpression -> UQualifiedReferenceExpression -> KtLightMethodImpl:foo: foo
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:forEach) -> USimpleNameReferenceExpression (identifier = forEach) -> PsiMethod:forEach: forEach
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:println) -> USimpleNameReferenceExpression (identifier = println) -> PsiMethod:println: println
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:println) -> USimpleNameReferenceExpression (identifier = it) -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:joinToString: joinToString
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = listOf) -> PsiMethod:listOf: listOf
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to PsiMethod:joinToString) -> USimpleNameReferenceExpression (identifier = joinToString) -> PsiMethod:joinToString: joinToString
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:size: size
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = listOf) -> PsiMethod:listOf: listOf
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = size) -> PsiMethod:size: size
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:getIndices: getIndices
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = listOf) -> PsiMethod:listOf: listOf
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = indices) -> PsiMethod:getIndices: getIndices
UTypeReferenceExpression (name = java.util.Date) -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UTypeReferenceExpression (name = java.util.Date) -> USimpleNameReferenceExpression (identifier = util) -> PsiPackage:java.util: util
UTypeReferenceExpression (name = java.util.Date) -> USimpleNameReferenceExpression (identifier = Date) -> PsiClass:Date: Date
ULocalVariable (name = date) -> UQualifiedReferenceExpression -> PsiMethod:Date: Date
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.util: util
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = util) -> PsiPackage:java.util: util
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0))(resolves to PsiMethod:Date) -> USimpleNameReferenceExpression (identifier = Date) -> PsiMethod:Date: Date
UBinaryExpression (operator = =) -> UQualifiedReferenceExpression -> null: null
UBinaryExpression (operator = =) -> UQualifiedReferenceExpression -> PsiMethod:setTime: setTime
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = date) -> LightVariableBuilder:date: date
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = time) -> PsiMethod:setTime: setTime
UBinaryExpression (operator = =) -> USimpleNameReferenceExpression (identifier = =) -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:last: last
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = listOf) -> PsiMethod:listOf: listOf
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to PsiMethod:last) -> USimpleNameReferenceExpression (identifier = last) -> PsiMethod:last: last
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:setValue: setValue
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiMethod:first: first
UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> null: null
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:mutableMapOf) -> USimpleNameReferenceExpression (identifier = mutableMapOf) -> PsiMethod:mutableMapOf: mutableMapOf
UBinaryExpression (operator = <other>) -> USimpleNameReferenceExpression (identifier = to) -> PsiMethod:to: to
@@ -58,7 +58,7 @@ UBlockExpression -> UQualifiedReferenceExpression -> KtLightMethodImpl:foo: foo
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to PsiMethod:first) -> USimpleNameReferenceExpression (identifier = first) -> PsiMethod:first: first
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:setValue) -> USimpleNameReferenceExpression (identifier = setValue) -> PsiMethod:setValue: setValue
UBinaryExpression (operator = ..) -> USimpleNameReferenceExpression (identifier = ..) -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:longRangeContains: longRangeContains
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = intRange) -> LightVariableBuilder:intRange: intRange
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:longRangeContains) -> USimpleNameReferenceExpression (identifier = contains) -> PsiMethod:longRangeContains: longRangeContains
UBinaryExpressionWithType -> USimpleNameReferenceExpression (identifier = as) -> null: null
@@ -82,7 +82,7 @@ UTypeReferenceExpression (name = A) -> USimpleNameReferenceExpression (identifie
}
}: A
UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> KotlinLightTypeParameter:T: T
UBlockExpression -> UQualifiedReferenceExpression -> null: null
UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:isEmpty: isEmpty
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = listT) -> Light Parameter: listT
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))(resolves to PsiMethod:isEmpty) -> USimpleNameReferenceExpression (identifier = isEmpty) -> PsiMethod:isEmpty: isEmpty
UForEachExpression -> USimpleNameReferenceExpression (identifier = listT) -> Light Parameter: listT
+1 -1
View File
@@ -19,7 +19,7 @@ UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifie
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:listOf) -> USimpleNameReferenceExpression (identifier = at) -> LightVariableBuilder:at: at
UTypeReferenceExpression (name = java.util.List<? extends java.lang.String>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List
UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String
ULocalVariable (name = tsl) -> UQualifiedReferenceExpression -> null: null
ULocalVariable (name = tsl) -> UQualifiedReferenceExpression -> PsiMethod:map: map
UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = tl) -> LightVariableBuilder:tl: tl
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))(resolves to PsiMethod:map) -> USimpleNameReferenceExpression (identifier = map) -> PsiMethod:map: map
UReturnExpression -> UQualifiedReferenceExpression -> null: null