X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/test/PHPParser.java b/net.sourceforge.phpeclipse/src/test/PHPParser.java index 9012909..219e662 100644 --- a/net.sourceforge.phpeclipse/src/test/PHPParser.java +++ b/net.sourceforge.phpeclipse/src/test/PHPParser.java @@ -518,8 +518,8 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon } catch (ParseException e) { errorMessage = "'?>' expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = e.currentToken.sourceStart; + errorEnd = e.currentToken.sourceEnd; processParseExceptionDebug(e); } break; @@ -686,8 +686,8 @@ Token token; } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image + "'. '{' expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = e.currentToken.sourceStart; + errorEnd = e.currentToken.sourceEnd; processParseExceptionDebug(e); } label_3: @@ -709,8 +709,8 @@ Token token; } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. 'var', 'function' or '}' expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = e.currentToken.sourceStart; + errorEnd = e.currentToken.sourceEnd; processParseExceptionDebug(e); {if (true) return PHPParser.token.sourceEnd;} } @@ -754,7 +754,6 @@ Token token; token = jj_consume_token(VAR); variableDeclaration = VariableDeclaratorNoSuffix(); arrayList.add(variableDeclaration); - outlineInfo.addVariable(variableDeclaration.name()); pos = variableDeclaration.sourceEnd; label_4: while (true) { @@ -917,8 +916,8 @@ Token token; } catch (ParseException e) { errorMessage = "'$' expected for variable identifier"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = e.currentToken.sourceStart; + errorEnd = e.currentToken.sourceEnd; {if (true) throw e;} } throw new Error("Missing return statement in function"); @@ -954,6 +953,7 @@ Token token; break; case IDENTIFIER: token = jj_consume_token(IDENTIFIER); + outlineInfo.addVariable("$" + token.image); {if (true) return new Variable(token.image,token.sourceStart,token.sourceEnd);} break; default: @@ -1125,8 +1125,8 @@ final Expression expr,expr2; if (errorMessage != null) {if (true) throw e;} errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function identifier expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = e.currentToken.sourceStart; + errorEnd = e.currentToken.sourceEnd; {if (true) throw e;} } currentSegment = functionDeclaration; @@ -1145,7 +1145,7 @@ final Expression expr,expr2; static final public MethodDeclaration MethodDeclarator(final int start) throws ParseException { Token identifier = null; Token reference = null; - final Hashtable formalParameters = new Hashtable(); + final ArrayList formalParameters = new ArrayList(); String identifierChar = SYNTAX_ERROR_CHAR; int end = start; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -1197,7 +1197,7 @@ final Expression expr,expr2; * FormalParameters follows method identifier. * (FormalParameter()) */ - static final public int FormalParameters(final Hashtable parameters) throws ParseException { + static final public int FormalParameters(final ArrayList parameters) throws ParseException { VariableDeclaration var; final Token token; Token tok = PHPParser.token; @@ -1216,7 +1216,7 @@ final Expression expr,expr2; case BIT_AND: case DOLLAR: var = FormalParameter(); - parameters.put(var.name(),var);end = var.sourceEnd; + parameters.add(var);end = var.sourceEnd; label_7: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -1229,7 +1229,7 @@ final Expression expr,expr2; } jj_consume_token(COMMA); var = FormalParameter(); - parameters.put(var.name(),var);end = var.sourceEnd; + parameters.add(var);end = var.sourceEnd; } break; default: @@ -1266,6 +1266,7 @@ final Expression expr,expr2; ; } variableDeclaration = VariableDeclaratorNoSuffix(); + outlineInfo.addVariable("$"+variableDeclaration.name()); if (token != null) { variableDeclaration.setReference(true); } @@ -3106,8 +3107,8 @@ Token token; } catch (ParseException e) { errorMessage = "unexpected end of file , '