Uast: type-parameter references resolves to type-parameters

This commit is contained in:
Nicolay Mitropolsky
2019-02-28 14:41:53 +03:00
parent ec26ea4e36
commit 5268cd4663
3 changed files with 13 additions and 12 deletions
+4 -4
View File
@@ -6,13 +6,13 @@ public final class TypeReferencesKt {
return result
}
public static final fun parameterizedFoo(@org.jetbrains.annotations.Nullable arg: T) : void {
var a: java.lang.Object = arg
var at: java.lang.Object = elvis {
@org.jetbrains.annotations.Nullable var var708e1d08: java.lang.Object = arg
var a: T = arg
var at: T = elvis {
@org.jetbrains.annotations.Nullable var var708e1d08: T = arg
if (var708e1d08 != null) var708e1d08 else return
}
var tl: java.util.List<? extends T> = listOf(at)
var tsl: java.util.List<? extends java.lang.String> = tl.map({
var tsl: java.util.List<? extends java.lang.String> = tl.map({
it.toString()
})
var lls: java.util.List<? extends java.util.List<? extends java.lang.String>>
+4 -4
View File
@@ -5,13 +5,13 @@ UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpres
UBinaryExpression (operator = +) -> USimpleNameReferenceExpression (identifier = +) -> null: null
UBinaryExpression (operator = +) -> USimpleNameReferenceExpression (identifier = varWithoutType) -> LightVariableBuilder:varWithoutType: varWithoutType
UReturnExpression -> USimpleNameReferenceExpression (identifier = result) -> LightVariableBuilder:result: result
UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object
UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> KotlinLightTypeParameter:T: T
ULocalVariable (name = a) -> USimpleNameReferenceExpression (identifier = arg) -> Light Parameter: arg
UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object
UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> KotlinLightTypeParameter:T: T
ULocalVariable (name = var708e1d08) -> USimpleNameReferenceExpression (identifier = arg) -> Light Parameter: arg
UExpressionList (elvis) -> USimpleNameReferenceExpression (identifier = ?:) -> null: null
UTypeReferenceExpression (name = java.util.List<? extends T>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List
UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object
UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> KotlinLightTypeParameter:T: T
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) -> USimpleNameReferenceExpression (identifier = listOf) -> null: null
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) -> USimpleNameReferenceExpression (identifier = at) -> LightVariableBuilder:at: at
UTypeReferenceExpression (name = java.util.List<? extends java.lang.String>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List
@@ -27,7 +27,7 @@ UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpres
UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String
UTypeReferenceExpression (name = java.util.List<? extends java.util.List<? extends T>>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List
UTypeReferenceExpression (name = java.util.List<? extends T>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List
UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object
UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> KotlinLightTypeParameter:T: T
UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) -> USimpleNameReferenceExpression (identifier = parameterizedFoo) -> KtLightMethodImpl:parameterizedFoo: parameterizedFoo
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