From: axelcl Date: Mon, 19 Dec 2005 23:31:45 +0000 (+0000) Subject: Fix #1371992: Error with switch when last case block omits break or return X-Git-Url: http://secure.phpeclipse.com?hp=e1738e98868d8d6608f82e27ea17978e8c02847e Fix #1371992: Error with switch when last case block omits break or return --- 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 c1e2cf7..ded438e 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 @@ -1725,6 +1725,10 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI expr(); // constant(); if (token == TokenNameCOLON || token == TokenNameSEMICOLON) { getNextToken(); + if (token == TokenNameRBRACE) { + // empty case; assumes that the '}' token belongs to the wrapping switch statement + break; + } if (token == TokenNamecase || token == TokenNamedefault) { // empty case statement ? continue; @@ -1752,7 +1756,7 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI if (token == TokenNameCOLON || token == TokenNameSEMICOLON) { getNextToken(); if (token == TokenNameRBRACE) { - // empty default case + // empty default case; ; assumes that the '}' token belongs to the wrapping switch statement break; } if (token != TokenNamecase) {