X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java index 69dfdcf..024d093 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java @@ -428,8 +428,13 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI if (branchStatement && statement != null) { // reportSyntaxError("Unreachable code", statement.sourceStart, // statement.sourceEnd); - problemReporter.unreachableCode(new String(scanner.getCurrentIdentifierSource()), statement.sourceStart, + if (! (statement instanceof BreakStatement)) { + /* don't give an error for break statement following return statement + Technically it's unreachable code, but in switch-case it's recommended to + avoid accidental fall-through later when editing the code */ + problemReporter.unreachableCode(new String(scanner.getCurrentIdentifierSource()), statement.sourceStart, statement.sourceEnd, referenceContext, compilationUnit.compilationResult); + } } if ((token == TokenNameRBRACE) || (token == TokenNamecase) || (token == TokenNamedefault) || (token == TokenNameelse) || (token == TokenNameelseif) || (token == TokenNameendif) || (token == TokenNameendfor) @@ -757,10 +762,11 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI expressionList(); if (token == TokenNameSEMICOLON) { getNextToken(); -// if (token != TokenNameINLINE_HTML) { -// // TODO should this become a configurable warning? -// reportSyntaxError("Probably '?>' expected after PHP short tag expression (only the first expression will be echoed)."); -// } + // if (token != TokenNameINLINE_HTML) { + // // TODO should this become a configurable warning? + // reportSyntaxError("Probably '?>' expected after PHP short tag + // expression (only the first expression will be echoed)."); + // } } else { if (token != TokenNameINLINE_HTML) { throwSyntaxError("';' expected after PHP short tag '