import net.sourceforge.phpeclipse.internal.compiler.ast.AbstractMethodDeclaration;
import net.sourceforge.phpeclipse.internal.compiler.ast.AstNode;
import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration;
+import net.sourceforge.phpeclipse.internal.compiler.ast.FieldDeclaration;
import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration;
import net.sourceforge.phpeclipse.internal.compiler.ast.SingleTypeReference;
import net.sourceforge.phpeclipse.internal.compiler.ast.TypeDeclaration;
private void throwSyntaxError(String error) {
int problemStartPosition = scanner.getCurrentTokenStartPosition();
int problemEndPosition = scanner.getCurrentTokenEndPosition();
- throwSyntaxError(error, problemStartPosition, problemEndPosition+1);
+ throwSyntaxError(error, problemStartPosition, problemEndPosition + 1);
}
/**
* This method will throw the SyntaxError. It will add the good lines and
getNextToken();
if (token == TokenNameLBRACE) {
getNextToken();
+ if (token != TokenNameRBRACE) {
+ statementList();
+ }
+ if (token == TokenNameRBRACE) {
+ getNextToken();
+ } else {
+ throwSyntaxError("'}' expected after 'do' keyword.");
+ }
} else {
- throwSyntaxError("'{' expected after 'do' keyword.");
- }
- if (token != TokenNameRBRACE) {
- statementList();
- }
- if (token == TokenNameRBRACE) {
- getNextToken();
- } else {
- throwSyntaxError("'}' expected after 'do' keyword.");
+ statement(TokenNameEOF);
}
if (token == TokenNamewhile) {
getNextToken();
throwSyntaxError("'{' expected in 'catch' statement.");
}
getNextToken();
- statementList();
if (token != TokenNameRBRACE) {
- throwSyntaxError("'}' expected in 'catch' statement.");
+ statementList();
+ if (token != TokenNameRBRACE) {
+ throwSyntaxError("'}' expected in 'catch' statement.");
+ }
}
getNextToken();
additional_catches();
// | T_VARIABLE '=' static_scalar
do {
if (token == TokenNameVariable) {
+ FieldDeclaration fieldDeclaration = new FieldDeclaration(null, scanner
+ .getCurrentIdentifierSource(), scanner
+ .getCurrentTokenStartPosition(), scanner
+ .getCurrentTokenEndPosition());
getNextToken();
if (token == TokenNameEQUAL) {
getNextToken();
expr(); //constant();
if (token == TokenNameCOLON || token == TokenNameSEMICOLON) {
getNextToken();
- if (token == TokenNamecase || token == TokenNamedefault) { // empty
- // case
- // statement
- // ?
+ if (token == TokenNamecase || token == TokenNamedefault) {
+ // empty case statement ?
continue;
}
statementList();
getNextToken();
if (token == TokenNameCOLON) {
getNextToken();
+ if (token==TokenNameRBRACE) {
+ // empty default case
+ break;
+ }
statementList();
} else {
throwSyntaxError("':' character after 'default' expected.");