mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-25 10:51:25 +07:00
New Java parser (work in progress)
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
PsiJavaFile:SyncIncomplete0.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiErrorElement:'(' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,11 @@
|
||||
PsiJavaFile:SyncIncomplete1.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiErrorElement:Expression expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,15 @@
|
||||
PsiJavaFile:SyncIncomplete2.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiReferenceExpression:o
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:o('o')
|
||||
PsiErrorElement:')' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,16 @@
|
||||
PsiJavaFile:SyncIncomplete3.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiReferenceExpression:o
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:o('o')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiErrorElement:'{' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,15 @@
|
||||
PsiJavaFile:SyncIncomplete4.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiErrorElement:Expression expected
|
||||
<empty list>
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,22 @@
|
||||
PsiJavaFile:SyncIncomplete5.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiErrorElement:Expression expected
|
||||
<empty list>
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiExpressionStatement
|
||||
PsiMethodCallExpression:foo()
|
||||
PsiReferenceExpression:foo
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:foo('foo')
|
||||
PsiExpressionList
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiJavaToken:SEMICOLON(';')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,17 @@
|
||||
PsiJavaFile:SyncNormal.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiSynchronizedStatement
|
||||
PsiKeyword:synchronized('synchronized')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiReferenceExpression:o
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:o('o')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,10 @@
|
||||
PsiJavaFile:ThrowIncomplete0.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiThrowStatement
|
||||
PsiKeyword:throw('throw')
|
||||
PsiErrorElement:Expression expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,15 @@
|
||||
PsiJavaFile:ThrowIncomplete1.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiThrowStatement
|
||||
PsiKeyword:throw('throw')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiReferenceExpression:e
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:e('e')
|
||||
PsiErrorElement:';' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,14 @@
|
||||
PsiJavaFile:ThrowNormal.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiThrowStatement
|
||||
PsiKeyword:throw('throw')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiReferenceExpression:e
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiIdentifier:e('e')
|
||||
PsiJavaToken:SEMICOLON(';')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,10 @@
|
||||
PsiJavaFile:TryIncomplete0.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiErrorElement:'{' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,13 @@
|
||||
PsiJavaFile:TryIncomplete1.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiErrorElement:'catch' or 'finally' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,15 @@
|
||||
PsiJavaFile:TryIncomplete2.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiErrorElement:'(' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,18 @@
|
||||
PsiJavaFile:TryIncomplete3.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiErrorElement:Parameter expected
|
||||
<empty list>
|
||||
PsiErrorElement:')' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,25 @@
|
||||
PsiJavaFile:TryIncomplete4.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:E
|
||||
PsiJavaCodeReferenceElement:E
|
||||
PsiIdentifier:E('E')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiErrorElement:Identifier expected
|
||||
<empty list>
|
||||
PsiErrorElement:')' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,26 @@
|
||||
PsiJavaFile:TryIncomplete5.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiParameter:e
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:E
|
||||
PsiJavaCodeReferenceElement:E
|
||||
PsiIdentifier:E('E')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:e('e')
|
||||
PsiErrorElement:')' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,27 @@
|
||||
PsiJavaFile:TryIncomplete6.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiParameter:e
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:E
|
||||
PsiJavaCodeReferenceElement:E
|
||||
PsiIdentifier:E('E')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:e('e')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiErrorElement:'{' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,14 @@
|
||||
PsiJavaFile:TryIncomplete7.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiKeyword:finally('finally')
|
||||
PsiErrorElement:'{' expected
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,28 @@
|
||||
PsiJavaFile:TryNormal0.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiParameter:e
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:E
|
||||
PsiJavaCodeReferenceElement:E
|
||||
PsiIdentifier:E('E')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:e('e')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,32 @@
|
||||
PsiJavaFile:TryNormal1.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiCatchSection
|
||||
PsiKeyword:catch('catch')
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiParameter:e
|
||||
PsiModifierList:
|
||||
<empty list>
|
||||
PsiTypeElement:E
|
||||
PsiJavaCodeReferenceElement:E
|
||||
PsiIdentifier:E('E')
|
||||
PsiReferenceParameterList
|
||||
<empty list>
|
||||
PsiWhiteSpace(' ')
|
||||
PsiIdentifier:e('e')
|
||||
PsiJavaToken:RPARENTH(')')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiKeyword:finally('finally')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
@@ -0,0 +1,15 @@
|
||||
PsiJavaFile:TryNormal2.java
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiTryStatement
|
||||
PsiKeyword:try('try')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiKeyword:finally('finally')
|
||||
PsiCodeBlock
|
||||
PsiJavaToken:LBRACE('{')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiJavaToken:RBRACE('}')
|
||||
+24
-3
@@ -66,9 +66,30 @@ public class StatementParserTest extends JavaParsingTestCase {
|
||||
|
||||
//ReturnParsingTest
|
||||
//SwitchParsingTest
|
||||
//SynchronizedParsingTest
|
||||
//ThrowParsingTest
|
||||
//TryParsingTest
|
||||
|
||||
public void testSyncNormal() { doParserTest("{ synchronized(o){} }"); }
|
||||
public void testSyncIncomplete0() { doParserTest("{ synchronized }"); }
|
||||
public void testSyncIncomplete1() { doParserTest("{ synchronized( }"); }
|
||||
public void testSyncIncomplete2() { doParserTest("{ synchronized(o }"); }
|
||||
public void testSyncIncomplete3() { doParserTest("{ synchronized(o) }"); }
|
||||
public void testSyncIncomplete4() { doParserTest("{ synchronized(){} }"); }
|
||||
public void testSyncIncomplete5() { doParserTest("{ synchronized(\n foo(); }"); }
|
||||
|
||||
public void testThrowNormal() { doParserTest("{ throw e; }"); }
|
||||
public void testThrowIncomplete0() { doParserTest("{ throw }"); }
|
||||
public void testThrowIncomplete1() { doParserTest("{ throw e }"); }
|
||||
|
||||
public void testTryNormal0() { doParserTest("{ try{}catch(E e){} }"); }
|
||||
public void testTryNormal1() { doParserTest("{ try{}catch(E e){}finally{} }"); }
|
||||
public void testTryNormal2() { doParserTest("{ try{}finally{} }"); }
|
||||
public void testTryIncomplete0() { doParserTest("{ try }"); }
|
||||
public void testTryIncomplete1() { doParserTest("{ try{} }"); }
|
||||
public void testTryIncomplete2() { doParserTest("{ try{}catch }"); }
|
||||
public void testTryIncomplete3() { doParserTest("{ try{}catch( }"); }
|
||||
public void testTryIncomplete4() { doParserTest("{ try{}catch(E }"); }
|
||||
public void testTryIncomplete5() { doParserTest("{ try{}catch(E e }"); }
|
||||
public void testTryIncomplete6() { doParserTest("{ try{}catch(E e) }"); }
|
||||
public void testTryIncomplete7() { doParserTest("{ try{}finally }"); }
|
||||
|
||||
public void testWhileNormal() { doParserTest("{ while (true) foo(); }"); }
|
||||
public void testWhileIncomplete0() { doParserTest("{ while }"); }
|
||||
|
||||
Reference in New Issue
Block a user