diff --git a/plugins/uast-kotlin/testData/TypeReferences.kt b/plugins/uast-kotlin/testData/TypeReferences.kt index e55a777cafd..43823a90f55 100644 --- a/plugins/uast-kotlin/testData/TypeReferences.kt +++ b/plugins/uast-kotlin/testData/TypeReferences.kt @@ -4,3 +4,17 @@ fun foo(parameter: Int): String { var result = varWithType + varWithoutType return result } + + +fun parameterizedFoo(arg: T?) { + val a = arg + val at: T = arg ?: return + + val tl: List = listOf(at) + val tsl: List = tl.map { it.toString() } + val lls: List> + val llt: List> + + parameterizedFoo>(emptyList()) + +} diff --git a/plugins/uast-kotlin/testData/TypeReferences.resolved.txt b/plugins/uast-kotlin/testData/TypeReferences.resolved.txt index 7aefa9b9a05..5e935e75450 100644 --- a/plugins/uast-kotlin/testData/TypeReferences.resolved.txt +++ b/plugins/uast-kotlin/testData/TypeReferences.resolved.txt @@ -5,3 +5,30 @@ 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 + ULocalVariable (name = a) -> USimpleNameReferenceExpression (identifier = arg) -> Light Parameter: arg + UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object + ULocalVariable (name = var708e1d08) -> USimpleNameReferenceExpression (identifier = arg) -> Light Parameter: arg + UExpressionList (elvis) -> USimpleNameReferenceExpression (identifier = ?:) -> null: null + UTypeReferenceExpression (name = java.util.List) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object + 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) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String + ULocalVariable (name = tsl) -> UQualifiedReferenceExpression -> null: null + UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = tl) -> LightVariableBuilder:tl: tl + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) -> USimpleNameReferenceExpression (identifier = map) -> null: null + UBlockExpression -> UQualifiedReferenceExpression -> null: null + UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = it) -> null: null + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = toString) -> null: null + UTypeReferenceExpression (name = java.util.List>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.util.List) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String + UTypeReferenceExpression (name = java.util.List>) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.util.List) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.Object) -> USimpleNameReferenceExpression (identifier = T) -> PsiClass:Object: Object + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1)) -> USimpleNameReferenceExpression (identifier = parameterizedFoo) -> KtLightMethodImpl:parameterizedFoo: parameterizedFoo + UTypeReferenceExpression (name = java.util.List) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = emptyList) -> null: null