diff --git a/uast/uast-tests/java/Simple/AnonymousClassWithParameters.resolved.txt b/uast/uast-tests/java/Simple/AnonymousClassWithParameters.resolved.txt new file mode 100644 index 000000000000..c4f2e80978d8 --- /dev/null +++ b/uast/uast-tests/java/Simple/AnonymousClassWithParameters.resolved.txt @@ -0,0 +1,9 @@ + UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> PsiTypeParameter:T: T + UTypeReferenceExpression (name = T) -> USimpleNameReferenceExpression (identifier = T) -> PsiTypeParameter:T: T + UBinaryExpression (operator = =) -> UQualifiedReferenceExpression -> PsiField:name: name + UBinaryExpression (operator = =) -> USimpleNameReferenceExpression (identifier = name) -> PsiParameter:name: name + UBlockExpression -> UQualifiedReferenceExpression -> PsiMethod:bar: bar + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) -> UQualifiedReferenceExpression -> PsiMethod:bar: bar + UObjectLiteralExpression -> USimpleNameReferenceExpression (identifier = Foo) -> PsiClass:Foo: Foo + UTypeReferenceExpression (name = java.lang.String) -> USimpleNameReferenceExpression (identifier = String) -> PsiClass:String: String + UAnnotation (fqName = java.lang.Override) -> USimpleNameReferenceExpression (identifier = Override) -> PsiClass:Override: Override diff --git a/uast/uast-tests/java/Simple/External.java b/uast/uast-tests/java/Simple/External.java index 82dc57f3531e..ac96b38e01de 100644 --- a/uast/uast-tests/java/Simple/External.java +++ b/uast/uast-tests/java/Simple/External.java @@ -14,6 +14,7 @@ * limitations under the License. */ import java.util.LinkedList; +import java.util.List; import static java.util.Collections.emptyList; public class External { diff --git a/uast/uast-tests/java/Simple/External.log.txt b/uast/uast-tests/java/Simple/External.log.txt index 24166d778756..731e0bda1a0e 100644 --- a/uast/uast-tests/java/Simple/External.log.txt +++ b/uast/uast-tests/java/Simple/External.log.txt @@ -1,4 +1,5 @@ UFile (package = ) + UImportStatement (isOnDemand = false) UImportStatement (isOnDemand = false) UImportStatement (isOnDemand = false) UClass (name = External) diff --git a/uast/uast-tests/java/Simple/External.render.txt b/uast/uast-tests/java/Simple/External.render.txt index b68bf49dac31..a9894f9301ec 100644 --- a/uast/uast-tests/java/Simple/External.render.txt +++ b/uast/uast-tests/java/Simple/External.render.txt @@ -1,4 +1,5 @@ import java.util.LinkedList +import java.util.List import java.util.Collections.emptyList public class External { @@ -6,7 +7,7 @@ public class External { return LinkedList() === LinkedList() } public static fun bar() : boolean { - var list: List = LinkedList() + var list: java.util.List = LinkedList() return list === list } public static fun baz() : boolean { diff --git a/uast/uast-tests/java/Simple/External.resolved.txt b/uast/uast-tests/java/Simple/External.resolved.txt new file mode 100644 index 000000000000..bddf9231de87 --- /dev/null +++ b/uast/uast-tests/java/Simple/External.resolved.txt @@ -0,0 +1,22 @@ +UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> null: null +UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.util: util +UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java +UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiClass:List: List +UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.util: util +UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java +UImportStatement (isOnDemand = false) -> UQualifiedReferenceExpression -> PsiMethod:emptyList: emptyList +UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiClass:Collections: Collections +UQualifiedReferenceExpression -> UQualifiedReferenceExpression -> PsiPackage:java.util: util +UQualifiedReferenceExpression -> USimpleNameReferenceExpression (identifier = java) -> PsiPackage:java: java + UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = LinkedList) -> null: null + UTypeReferenceExpression (name = java.lang.Integer) -> USimpleNameReferenceExpression (identifier = Integer) -> PsiClass:Integer: Integer + UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = LinkedList) -> null: null + UTypeReferenceExpression (name = java.lang.Integer) -> USimpleNameReferenceExpression (identifier = Integer) -> PsiClass:Integer: Integer + UTypeReferenceExpression (name = java.util.List) -> USimpleNameReferenceExpression (identifier = List) -> PsiClass:List: List + UTypeReferenceExpression (name = java.lang.Integer) -> USimpleNameReferenceExpression (identifier = Integer) -> PsiClass:Integer: Integer + UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = LinkedList) -> null: null + UTypeReferenceExpression (name = java.lang.Integer) -> USimpleNameReferenceExpression (identifier = Integer) -> PsiClass:Integer: Integer + UBinaryExpression (operator = ===) -> USimpleNameReferenceExpression (identifier = list) -> PsiLocalVariable:list: list + UBinaryExpression (operator = ===) -> USimpleNameReferenceExpression (identifier = list) -> PsiLocalVariable:list: list + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = emptyList) -> PsiMethod:emptyList: emptyList + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) -> USimpleNameReferenceExpression (identifier = emptyList) -> PsiMethod:emptyList: emptyList diff --git a/uast/uast-tests/java/Simple/External.values.txt b/uast/uast-tests/java/Simple/External.values.txt index 960cdf52064c..432b5db0a17d 100644 --- a/uast/uast-tests/java/Simple/External.values.txt +++ b/uast/uast-tests/java/Simple/External.values.txt @@ -1,5 +1,6 @@ UFile (package = ) [import java.util.LinkedList...] UImportStatement (isOnDemand = false) [import java.util.LinkedList] + UImportStatement (isOnDemand = false) [import java.util.List] UImportStatement (isOnDemand = false) [import java.util.Collections.emptyList] UClass (name = External) [public class External {...}] UMethod (name = foo) [public static fun foo() : boolean {...}] @@ -12,8 +13,8 @@ UFile (package = ) [import java.util.LinkedList...] USimpleNameReferenceExpression (identifier = LinkedList) [LinkedList] = external LinkedList() UMethod (name = bar) [public static fun bar() : boolean {...}] UBlockExpression [{...}] = Nothing - UDeclarationsExpression [var list: List = LinkedList()] = Undetermined - ULocalVariable (name = list) [var list: List = LinkedList()] + UDeclarationsExpression [var list: java.util.List = LinkedList()] = Undetermined + ULocalVariable (name = list) [var list: java.util.List = LinkedList()] UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [LinkedList()] = external LinkedList()() USimpleNameReferenceExpression (identifier = LinkedList) [LinkedList] = external LinkedList() UReturnExpression [return list === list] = Nothing diff --git a/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaResolveEverythingTest.kt b/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaResolveEverythingTest.kt index cde2232fcd2d..8f5f43d8f68d 100644 --- a/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaResolveEverythingTest.kt +++ b/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaResolveEverythingTest.kt @@ -11,6 +11,12 @@ class JavaResolveEverythingTest : AbstractJavaResolveEverythingTest() { @Test fun testAnonymous() = doTest("Simple/Anonymous.java") + @Test + fun testAnonymousClassWithParameters() = doTest("Simple/AnonymousClassWithParameters.java") + + @Test + fun testExternal() = doTest("Simple/External.java") + @Test fun testTryWithResources() = doTest("Simple/TryWithResources.java")