New Java parser (completion hack)

This commit is contained in:
Roman Shevchenko
2010-08-01 22:04:44 +04:00
parent 46cdd6d897
commit d9f8050ad3
3 changed files with 41 additions and 2 deletions
@@ -0,0 +1,25 @@
PsiJavaFile:CompletionHack2.java
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiAnnotationMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:'{' or ';' expected
PsiIdentifier:def('def')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -96,6 +96,7 @@ public class DeclarationParserTest extends JavaParsingTestCase {
public void testErrors() { doParserTest("{ public static <error descr=\"2\">protected int f1 = 0; }", false, false); }
public void testCompletionHack0() { doParserTest("{ <X IntelliJIdeaRulezz>\n String s = \"\"; }", false, false); }
public void testCompletionHack1() { doParserTest("{ <X\n String s = \"\"; }", false, false); }
public void testCompletionHack2() { doParserTest("{ String foo() def }", true, false); }
public void testWildcardParsing() { doParserTest("{ List<? extends B> x(Collection<? super B> x); }", false, false); }
public void testParameterAnnotation() { doParserTest("{ void foo (@Annotation(value=77) int param) {} }", false, false); }
public void testParameterizedMethod() { doParserTest("{ @Nullable <T> T bar() {} }", false, false); }