New Java parser: fix for incomplete for-each statement

This commit is contained in:
Roman Shevchenko
2010-10-15 14:16:25 +04:00
parent d5a7909a1a
commit a37c3ba200
6 changed files with 141 additions and 2 deletions
@@ -0,0 +1,12 @@
import java.util.*;
class BarGoo {}
class Foo {
{
List<BarGoo> goos;
for (BarGoo : goos) {
}
}
}
@@ -0,0 +1,103 @@
PsiJavaFile:IncompleteFor.java
PsiImportList
PsiImportStatement
PsiKeyword:import('import')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:java.util
PsiJavaCodeReferenceElement:java
PsiIdentifier:java('java')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:util('util')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiJavaToken:ASTERISK('*')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\n')
PsiClass:BarGoo
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:BarGoo('BarGoo')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n')
PsiClass:Foo
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Foo('Foo')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiClassInitializer
PsiModifierList:
<empty list>
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiDeclarationStatement
PsiLocalVariable:goos
PsiModifierList:
<empty list>
PsiTypeElement:List<BarGoo>
PsiJavaCodeReferenceElement:List<BarGoo>
PsiIdentifier:List('List')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:BarGoo
PsiJavaCodeReferenceElement:BarGoo
PsiIdentifier:BarGoo('BarGoo')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiIdentifier:goos('goos')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiForStatement
PsiKeyword:for('for')
PsiWhiteSpace(' ')
PsiJavaToken:LPARENTH('(')
PsiLabeledStatement
PsiIdentifier:BarGoo('BarGoo')
PsiWhiteSpace(' ')
PsiJavaToken:COLON(':')
PsiWhiteSpace(' ')
PsiExpressionStatement
PsiReferenceExpression:goos
PsiReferenceParameterList
<empty list>
PsiIdentifier:goos('goos')
PsiErrorElement:';' expected
<empty list>
PsiErrorElement:';' expected
<empty list>
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiBlockStatement
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n\n')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,22 @@
PsiJavaFile:ForEachIncomplete0.java
PsiForStatement
PsiKeyword:for('for')
PsiJavaToken:LPARENTH('(')
PsiLabeledStatement
PsiIdentifier:Object('Object')
PsiWhiteSpace(' ')
PsiJavaToken:COLON(':')
PsiWhiteSpace(' ')
PsiExpressionStatement
PsiReferenceExpression:list
PsiReferenceParameterList
<empty list>
PsiIdentifier:list('list')
PsiErrorElement:';' expected
<empty list>
PsiErrorElement:';' expected
<empty list>
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiEmptyStatement
PsiJavaToken:SEMICOLON(';')