'statement expected' error

This commit is contained in:
Max Medvedev
2013-06-03 20:19:32 +04:00
parent 3531cfda48
commit e03e35c873
8 changed files with 25 additions and 22 deletions
@@ -117,7 +117,7 @@ public class GroovyParser implements PsiParser {
}
else {
warn.rollbackTo();
builder.error(GroovyBundle.message("expression.expected"));
builder.error(GroovyBundle.message("statement.expected"));
}
marker.done(FOR_STATEMENT);
return true;
@@ -214,7 +214,7 @@ public class GroovyParser implements PsiParser {
if (!parseStatement(builder, true) && !parseExtendedStatement(builder)) {
warn.rollbackTo();
builder.error(GroovyBundle.message("expression.expected"));
builder.error(GroovyBundle.message("statement.expected"));
return false;
}
else {
@@ -80,10 +80,15 @@ public class SwitchStatement implements GroovyElementTypes {
PsiBuilder.Marker sectionMarker = builder.mark();
parseCaseLabel(builder, parser);
final PsiBuilder.Marker warn = builder.mark();
ParserUtils.getToken(builder, mNLS);
if (builder.getTokenType() == mRCURLY) {
builder.error(GroovyBundle.message("expression.expected"));
} else {
warn.rollbackTo();
builder.error(GroovyBundle.message("statement.expected"));
}
else {
warn.drop();
parser.parseSwitchCaseList(builder);
}
sectionMarker.done(CASE_SECTION);
@@ -111,10 +116,10 @@ public class SwitchStatement implements GroovyElementTypes {
ParserUtils.getToken(builder, mNLS);
if (parseCaseLabel(builder, parser)) {
beforeNls.drop();
} else {
}
else {
beforeNls.rollbackTo();
}
return true;
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -104,8 +104,9 @@ public class TryCatchStatement implements GroovyElementTypes {
ParserUtils.getToken(builder, mNLS);
if (!mLCURLY.equals(builder.getTokenType()) || !OpenOrClosableBlock.parseOpenBlock(builder, parser)) {
warn.rollbackTo();
builder.error(GroovyBundle.message("expression.expected"));
} else {
builder.error(GroovyBundle.message("lcurly.expected"));
}
else {
warn.drop();
}
@@ -117,7 +118,4 @@ public class TryCatchStatement implements GroovyElementTypes {
parseHandlers(builder, parser);
}
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ public class OpenOrClosableBlock implements GroovyElementTypes {
ParserUtils.getToken(builder, mNLS);
parser.parseBlockBody(builder);
if (!builder.eof() && builder.getTokenType() != mRCURLY) {
builder.error(GroovyBundle.message("expression.expected"));
builder.error(GroovyBundle.message("statement.expected"));
ParserUtils.skipCountingBraces(builder, GroovyParser.RCURLY_ONLY);
}
@@ -21,7 +21,7 @@ Groovy script
Literal
PsiElement(Integer)('10')
PsiElement())(')')
PsiErrorElement:Expression expected
PsiErrorElement:Statement expected
<empty list>
PsiElement(new line)('\n')
PsiErrorElement:Unexpected symbol
@@ -13,5 +13,5 @@ Groovy script
PsiElement(identifier)('expr2')
PsiWhiteSpace(' ')
PsiElement(else)('else')
PsiErrorElement:Expression expected
PsiErrorElement:Statement expected
<empty list>
@@ -28,8 +28,8 @@ Groovy script
Case label
PsiElement(default)('default')
PsiElement(:)(':')
PsiWhiteSpace(' ')
PsiElement(new line)('\n')
PsiErrorElement:Expression expected
PsiErrorElement:Statement expected
<empty list>
PsiWhiteSpace(' ')
PsiElement(new line)('\n')
PsiElement(})('}')
@@ -42,8 +42,8 @@ Groovy script
Case label
PsiElement(default)('default')
PsiElement(:)(':')
PsiWhiteSpace(' ')
PsiElement(new line)('\n')
PsiErrorElement:Expression expected
PsiErrorElement:Statement expected
<empty list>
PsiWhiteSpace(' ')
PsiElement(new line)('\n')
PsiElement(})('}')