mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
New Java parser (incomplete parenthesized expression parsing fixed)
This commit is contained in:
@@ -27,6 +27,7 @@ import com.intellij.psi.tree.TokenSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import static com.intellij.lang.PsiBuilderUtil.expect;
|
||||
import static com.intellij.lang.java.parser.JavaParserUtil.*;
|
||||
|
||||
|
||||
@@ -502,7 +503,11 @@ public class ExpressionParser {
|
||||
error(builder, JavaErrorMessages.message("expected.expression"));
|
||||
}
|
||||
|
||||
JavaParserUtil.expectOrError(builder, JavaTokenType.RPARENTH, JavaErrorMessages.message("expected.rparen"));
|
||||
if (!expect(builder, JavaTokenType.RPARENTH)) {
|
||||
if (inner != null) {
|
||||
error(builder, JavaErrorMessages.message("expected.rparen"));
|
||||
}
|
||||
}
|
||||
|
||||
parenth.done(JavaElementType.PARENTH_EXPRESSION);
|
||||
return parenth;
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
PsiJavaFile:Parenth2.java
|
||||
PsiParenthesizedExpression:(
|
||||
PsiJavaToken:LPARENTH('(')
|
||||
PsiErrorElement:Expression expected
|
||||
<empty list>
|
||||
+1
@@ -49,6 +49,7 @@ public class ExpressionParserTest extends JavaParsingTestCase {
|
||||
|
||||
public void testParenth0() { doParserTest("(c)"); }
|
||||
public void testParenth1() { doParserTest("(this).f--"); }
|
||||
public void testParenth2() { doParserTest("("); }
|
||||
|
||||
public void testNewInExprList() { doParserTest("call(new)"); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user