geforkt von Mirrors/FastAsyncWorldEdit
Moved some code around
Dieser Commit ist enthalten in:
Ursprung
effbf9f79c
Commit
e6e31d0b93
@ -101,7 +101,11 @@ public class Parser {
|
||||
break;
|
||||
|
||||
case '{':
|
||||
statements.add(parseBlock());
|
||||
consumeCharacter('{');
|
||||
|
||||
statements.add(parseStatements(false));
|
||||
|
||||
consumeCharacter('}');
|
||||
|
||||
if (singleStatement) {
|
||||
break loop;
|
||||
@ -178,7 +182,7 @@ public class Parser {
|
||||
|
||||
default:
|
||||
statements.add(parseExpression());
|
||||
|
||||
|
||||
if (peek().id() == ';') {
|
||||
++position;
|
||||
if (singleStatement) {
|
||||
@ -194,13 +198,17 @@ public class Parser {
|
||||
|
||||
switch (statements.size()) {
|
||||
case 0:
|
||||
throw new ParserException(-1, "No statement found.");
|
||||
if (singleStatement) {
|
||||
throw new ParserException(peek().getPosition(), "Statement expected.");
|
||||
} else {
|
||||
return new Sequence(peek().getPosition());
|
||||
}
|
||||
|
||||
case 1:
|
||||
return statements.get(0);
|
||||
|
||||
default:
|
||||
return new Sequence(position, statements.toArray(new RValue[statements.size()]));
|
||||
return new Sequence(peek().getPosition(), statements.toArray(new RValue[statements.size()]));
|
||||
}
|
||||
}
|
||||
|
||||
@ -327,20 +335,6 @@ public class Parser {
|
||||
return ret;
|
||||
}
|
||||
|
||||
private final RValue parseBlock() throws ParserException {
|
||||
consumeCharacter('{');
|
||||
|
||||
if (peek().id() == '}') {
|
||||
return new Sequence(peek().getPosition());
|
||||
}
|
||||
|
||||
final RValue ret = parseStatements(false);
|
||||
|
||||
consumeCharacter('}');
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
private boolean hasKeyword(String keyword) {
|
||||
final Token next = peek();
|
||||
if (!(next instanceof KeywordToken)) {
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren