[uast-java] more resolve-everything tests

This commit is contained in:
Nicolay Mitropolsky
2019-02-28 17:12:54 +03:00
parent bcfcea2276
commit dfc06cb2b4
7 changed files with 44 additions and 3 deletions
@@ -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
@@ -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 {
@@ -1,4 +1,5 @@
UFile (package = )
UImportStatement (isOnDemand = false)
UImportStatement (isOnDemand = false)
UImportStatement (isOnDemand = false)
UClass (name = External)
@@ -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<Integer> = LinkedList()
var list: java.util.List<java.lang.Integer> = LinkedList()
return list === list
}
public static fun baz() : boolean {
@@ -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<java.lang.Integer>) -> 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
@@ -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<Integer> = LinkedList()] = Undetermined
ULocalVariable (name = list) [var list: List<Integer> = LinkedList()]
UDeclarationsExpression [var list: java.util.List<java.lang.Integer> = LinkedList()] = Undetermined
ULocalVariable (name = list) [var list: java.util.List<java.lang.Integer> = LinkedList()]
UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [LinkedList()] = external LinkedList()()
USimpleNameReferenceExpression (identifier = LinkedList) [LinkedList] = external LinkedList()
UReturnExpression [return list === list] = Nothing
@@ -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")