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 8a9f5e1..e3d3672 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 @@ -26,11 +26,7 @@ import test.PHPParserSuperclass; public class Parser extends PHPParserSuperclass implements ITerminalSymbols { - public static final int ERROR = 2; - public static final int WARNING = 1; - public static final int INFO = 0; - - //scanner token + //scanner token public Scanner scanner; private IFile fileToParse; @@ -156,7 +152,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { this.initializeScanner(); } /** - * Class Constructor. + * ClassDeclaration Constructor. * *@param s *@param sess Description of Parameter @@ -198,36 +194,6 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { setMarker(fileToParse, message, charStart, charEnd, errorLevel); } - public static void setMarker( - IFile file, - String message, - int charStart, - int charEnd, - int errorLevel) - throws CoreException { - if (file != null) { - Hashtable attributes = new Hashtable(); - MarkerUtilities.setMessage(attributes, message); - switch (errorLevel) { - case ERROR : - attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR)); - break; - case WARNING : - attributes.put( - IMarker.SEVERITY, - new Integer(IMarker.SEVERITY_WARNING)); - break; - case INFO : - attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_INFO)); - break; - } - MarkerUtilities.setCharStart(attributes, charStart); - MarkerUtilities.setCharEnd(attributes, charEnd); - // setLineNumber(attributes, lineNumber); - MarkerUtilities.createMarker(file, attributes, IMarker.PROBLEM); - } - } - /** * This method will throw the SyntaxError. * It will add the good lines and columns to the Error @@ -1452,7 +1418,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { private void parseDeclarations( PHPOutlineInfo outlineInfo, - PHPSegmentWithChildren current, + OutlineableWithChildren current, boolean goBack) { char[] ident; // PHPClassDeclaration current = (PHPClassDeclaration) stack.peek(); @@ -1471,7 +1437,8 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { if (token == TokenNameVariable && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_VAR)) { ident = scanner.getCurrentIdentifierSource(); - String variableName = new String(ident); + //substring(1) added because PHPVarDeclaration doesn't need the $ anymore + String variableName = new String(ident).substring(1); outlineInfo.addVariable(variableName); getNextToken(); if (token != TokenNameSEMICOLON) { @@ -2009,11 +1976,15 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { if (token == TokenNameIdentifier) { getNextToken(); } else { - throwSyntaxError("Class name expected after keyword 'extends'."); + throwSyntaxError("ClassDeclaration name expected after keyword 'extends'."); } } } else { - throwSyntaxError("Class name expected after keyword 'class'."); + if (token > TokenNameKEYWORD) { + throwSyntaxError( + "Don't use keyword for class declaration [" + token + "]."); + } + throwSyntaxError("ClassDeclaration name expected after keyword 'class'."); } } @@ -2104,6 +2075,12 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols { } else { getNextToken(); } + } else { + if (token > TokenNameKEYWORD) { + throwSyntaxError( + "Don't use keyword for function declaration [" + token + "]."); + } + throwSyntaxError("Function name expected after keyword 'function'."); } } //