fixed problem with TokenNameDOLLAR_LBRACE token in outlineinfo
authorkhartlage <khartlage>
Wed, 28 May 2003 15:49:17 +0000 (15:49 +0000)
committerkhartlage <khartlage>
Wed, 28 May 2003 15:49:17 +0000 (15:49 +0000)
net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java

index e3d3672..8a5839f 100644 (file)
@@ -185,12 +185,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
   /**
    * Create marker for the parse error
    */
-  private void setMarker(
-    String message,
-    int charStart,
-    int charEnd,
-    int errorLevel)
-    throws CoreException {
+  private void setMarker(String message, int charStart, int charEnd, int errorLevel) throws CoreException {
     setMarker(fileToParse, message, charStart, charEnd, errorLevel);
   }
 
@@ -260,8 +255,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         int currentEndPosition = scanner.getCurrentTokenEndPosition();
         int currentStartPosition = scanner.getCurrentTokenStartPosition();
 
-        System.out.print(
-          currentStartPosition + "," + currentEndPosition + ": ");
+        System.out.print(currentStartPosition + "," + currentEndPosition + ": ");
         System.out.println(scanner.toStringAction(token));
       }
     } catch (InvalidInputException e) {
@@ -1252,10 +1246,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         }
         if (token != TokenNameEOF) {
           if (token == TokenNameERROR) {
-            throwSyntaxError(
-              "Scanner error (Found unknown token: "
-                + scanner.toStringAction(token)
-                + ")");
+            throwSyntaxError("Scanner error (Found unknown token: " + scanner.toStringAction(token) + ")");
           }
           if (token == TokenNameRPAREN) {
             throwSyntaxError("Too many closing ')'; end-of-file not reached.");
@@ -1285,11 +1276,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           throw err;
         } else {
           //   setMarker(err.getMessage(), err.getLine(), ERROR);
-          setMarker(
-            err.getMessage(),
-            scanner.getCurrentTokenStartPosition(),
-            scanner.getCurrentTokenEndPosition(),
-            ERROR);
+          setMarker(err.getMessage(), scanner.getCurrentTokenStartPosition(), scanner.getCurrentTokenEndPosition(), ERROR);
         }
         // if an error occured,
         // try to find keywords 'class' or 'function'
@@ -1331,10 +1318,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         }
         if (token != TokenNameEOF) {
           if (token == TokenNameERROR) {
-            throwSyntaxError(
-              "Scanner error (Found unknown token: "
-                + scanner.toStringAction(token)
-                + ")");
+            throwSyntaxError("Scanner error (Found unknown token: " + scanner.toStringAction(token) + ")");
           }
           if (token == TokenNameRPAREN) {
             throwSyntaxError("Too many closing ')'; end-of-file not reached.");
@@ -1361,11 +1345,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         return;
       } catch (SyntaxError sytaxErr1) {
         // setMarker(sytaxErr1.getMessage(), sytaxErr1.getLine(), ERROR);
-        setMarker(
-          sytaxErr1.getMessage(),
-          scanner.getCurrentTokenStartPosition(),
-          scanner.getCurrentTokenEndPosition(),
-          ERROR);
+        setMarker(sytaxErr1.getMessage(), scanner.getCurrentTokenStartPosition(), scanner.getCurrentTokenEndPosition(), ERROR);
         try {
           // if an error occured,
           // try to find keywords 'class' or 'function'
@@ -1381,11 +1361,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           }
         } catch (SyntaxError sytaxErr2) {
           //    setMarker(sytaxErr2.getMessage(), sytaxErr2.getLine(), ERROR);
-          setMarker(
-            sytaxErr2.getMessage(),
-            scanner.getCurrentTokenStartPosition(),
-            scanner.getCurrentTokenEndPosition(),
-            ERROR);
+          setMarker(sytaxErr2.getMessage(), scanner.getCurrentTokenStartPosition(), scanner.getCurrentTokenEndPosition(), ERROR);
           return;
         }
       }
@@ -1416,10 +1392,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
     return outlineInfo;
   }
 
-  private void parseDeclarations(
-    PHPOutlineInfo outlineInfo,
-    OutlineableWithChildren current,
-    boolean goBack) {
+  private void parseDeclarations(PHPOutlineInfo outlineInfo, OutlineableWithChildren current, boolean goBack) {
     char[] ident;
     //   PHPClassDeclaration current = (PHPClassDeclaration) stack.peek();
     PHPSegmentWithChildren temp;
@@ -1434,8 +1407,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           getNextToken();
         } else if (token == TokenNamevar) {
           getNextToken();
-          if (token == TokenNameVariable
-            && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_VAR)) {
+          if (token == TokenNameVariable && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_VAR)) {
             ident = scanner.getCurrentIdentifierSource();
             //substring(1) added because PHPVarDeclaration doesn't need the $ anymore
             String variableName = new String(ident).substring(1);
@@ -1462,10 +1434,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
                     scanner.getCurrentTokenStartPosition(), new String(ident)));
                     break;
                   case TokenNameDoubleLiteral :
-                    current
-                      .add(new PHPVarDeclaration(
-                        current,
-                        variableName + doubleNumber,
+                    current.add(new PHPVarDeclaration(current, variableName + doubleNumber,
                     //   chIndx - ident.length,
                     scanner.getCurrentTokenStartPosition(), new String(ident)));
                     break;
@@ -1506,8 +1475,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           if (token == TokenNameAND) {
             getNextToken();
           }
-          if (token == TokenNameIdentifier
-            && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_FUNC)) {
+          if (token == TokenNameIdentifier && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_FUNC)) {
             ident = scanner.getCurrentIdentifierSource();
             outlineInfo.addVariable(new String(ident));
             temp = new PHPFunctionDeclaration(current, new String(ident),
@@ -1519,8 +1487,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           }
         } else if (token == TokenNameclass) {
           getNextToken();
-          if (token == TokenNameIdentifier
-            && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_CLASS)) {
+          if (token == TokenNameIdentifier && store.getBoolean(PHPeclipsePlugin.PHP_OUTLINE_CLASS)) {
             ident = scanner.getCurrentIdentifierSource();
             outlineInfo.addVariable(new String(ident));
             temp = new PHPClassDeclaration(current, new String(ident),
@@ -1531,15 +1498,13 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
             getNextToken();
 
             //skip tokens for classname, extends and others until we have the opening '{'
-            while (token != TokenNameLBRACE
-              && token != TokenNameEOF
-              && token != TokenNameERROR) {
+            while (token != TokenNameLBRACE && token != TokenNameEOF && token != TokenNameERROR) {
               getNextToken();
             }
             parseDeclarations(outlineInfo, temp, true);
             //        stack.pop();
           }
-        } else if (token == TokenNameLBRACE) {
+        } else if ((token == TokenNameLBRACE) || (token == TokenNameDOLLAR_LBRACE)) {
           getNextToken();
           counter++;
         } else if (token == TokenNameRBRACE) {
@@ -1572,11 +1537,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
     } catch (SyntaxError sytaxErr) {
       try {
         //  setMarker(sytaxErr.getMessage(), sytaxErr.getLine(), ERROR);
-        setMarker(
-          sytaxErr.getMessage(),
-          scanner.getCurrentTokenStartPosition(),
-          scanner.getCurrentTokenEndPosition(),
-          ERROR);
+        setMarker(sytaxErr.getMessage(), scanner.getCurrentTokenStartPosition(), scanner.getCurrentTokenEndPosition(), ERROR);
       } catch (CoreException e) {
       }
     }
@@ -1798,10 +1759,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
       foreachStatement();
       return;
 
-    } else if (
-      token == TokenNamecontinue
-        || token == TokenNamebreak
-        || token == TokenNamereturn) {
+    } else if (token == TokenNamecontinue || token == TokenNamebreak || token == TokenNamereturn) {
       getNextToken();
       if (token != TokenNameSEMICOLON) {
         expression();
@@ -1956,10 +1914,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         return;
       } else {
         if (token != TokenNameStopPHP && token != TokenNameEOF) {
-          throwSyntaxError(
-            "';' expected after expression (Found token: "
-              + scanner.toStringAction(token)
-              + ")");
+          throwSyntaxError("';' expected after expression (Found token: " + scanner.toStringAction(token) + ")");
         }
         getNextToken();
       }
@@ -1981,8 +1936,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
       }
     } else {
       if (token > TokenNameKEYWORD) {
-        throwSyntaxError(
-          "Don't use keyword for class declaration [" + token + "].");
+        throwSyntaxError("Don't use keyword for class declaration [" + token + "].");
       }
       throwSyntaxError("ClassDeclaration name expected after keyword 'class'.");
     }
@@ -2077,8 +2031,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
       }
     } else {
       if (token > TokenNameKEYWORD) {
-        throwSyntaxError(
-          "Don't use keyword for function declaration [" + token + "].");
+        throwSyntaxError("Don't use keyword for function declaration [" + token + "].");
       }
       throwSyntaxError("Function name expected after keyword 'function'.");
     }
@@ -2128,8 +2081,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
         constant();
         if (token == TokenNameCOLON) {
           getNextToken();
-          if (token == TokenNamecase
-            || token == TokenNamedefault) { // empty case statement ?
+          if (token == TokenNamecase || token == TokenNamedefault) { // empty case statement ?
             continue;
           }
           statementList();
@@ -2141,9 +2093,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           //            rowCount,
           //            PHPParser.INFO);
           setMarker(
-            "':' expected after 'case' keyword (Found token: "
-              + scanner.toStringAction(token)
-              + ")",
+            "':' expected after 'case' keyword (Found token: " + scanner.toStringAction(token) + ")",
             scanner.getCurrentTokenStartPosition(),
             scanner.getCurrentTokenEndPosition(),
             INFO);
@@ -2153,10 +2103,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           }
           statementList();
         } else {
-          throwSyntaxError(
-            "':' character after 'case' constant expected (Found token: "
-              + scanner.toStringAction(token)
-              + ")");
+          throwSyntaxError("':' character after 'case' constant expected (Found token: " + scanner.toStringAction(token) + ")");
         }
       } else { // TokenNamedefault
         getNextToken();
@@ -2531,10 +2478,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           getNextToken();
           expression();
           if (token != TokenNameRBRACE) {
-            throwSyntaxError(
-              "'}' expected after variable '"
-                + new String(ident)
-                + "' in variable-expression.");
+            throwSyntaxError("'}' expected after variable '" + new String(ident) + "' in variable-expression.");
           }
           getNextToken();
         } else if (token == TokenNameLPAREN) {
@@ -2542,10 +2486,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           if (token != TokenNameRPAREN) {
             expressionList();
             if (token != TokenNameRPAREN) {
-              throwSyntaxError(
-                "')' expected after variable '"
-                  + new String(ident)
-                  + "' in postfix-expression.");
+              throwSyntaxError("')' expected after variable '" + new String(ident) + "' in postfix-expression.");
             }
           }
           getNextToken();
@@ -2675,9 +2616,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
             //              rowCount,
             //              PHPParser.INFO);
             setMarker(
-              "Avoid using keyword '"
-                + new String(ident)
-                + "' as variable name.",
+              "Avoid using keyword '" + new String(ident) + "' as variable name.",
               scanner.getCurrentTokenStartPosition(),
               scanner.getCurrentTokenEndPosition(),
               INFO);
@@ -2709,10 +2648,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
               break;
             default :
               throwSyntaxError("Syntax error after '->' token.");
-          } while (
-            token == TokenNameLBRACKET
-              || token == TokenNameLPAREN
-              || token == TokenNameLBRACE) {
+          } while (token == TokenNameLBRACKET || token == TokenNameLPAREN || token == TokenNameLBRACE) {
               if (token == TokenNameLBRACKET) {
                 getNextToken();
                 expressionList();
@@ -2880,9 +2816,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
   private void multiplicativeExpression() throws CoreException {
     do {
       assignExpression();
-      if (token != TokenNameMULTIPLY
-        && token != TokenNameDIVIDE
-        && token != TokenNameREMAINDER) {
+      if (token != TokenNameMULTIPLY && token != TokenNameDIVIDE && token != TokenNameREMAINDER) {
         return;
       }
       getNextToken();
@@ -2922,10 +2856,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
   private void relationalExpression() throws CoreException {
     do {
       shiftExpression();
-      if (token != TokenNameLESS
-        && token != TokenNameGREATER
-        && token != TokenNameLESS_EQUAL
-        && token != TokenNameGREATER_EQUAL) {
+      if (token != TokenNameLESS && token != TokenNameGREATER && token != TokenNameLESS_EQUAL && token != TokenNameGREATER_EQUAL) {
         return;
       }
       getNextToken();
@@ -2935,8 +2866,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
   private void identicalExpression() throws CoreException {
     do {
       relationalExpression();
-      if (token != TokenNameEQUAL_EQUAL_EQUAL
-        && token != TokenNameNOT_EQUAL_EQUAL) {
+      if (token != TokenNameEQUAL_EQUAL_EQUAL && token != TokenNameNOT_EQUAL_EQUAL) {
         return;
       }
       getNextToken();
@@ -3150,10 +3080,7 @@ public class Parser extends PHPParserSuperclass implements ITerminalSymbols {
           if (token != TokenNameRPAREN) {
             expressionList();
             if (token != TokenNameRPAREN) {
-              throwSyntaxError(
-                "')' expected after identifier '"
-                  + new String(ident)
-                  + "' in postfix-expression.");
+              throwSyntaxError("')' expected after identifier '" + new String(ident) + "' in postfix-expression.");
             }
           }
           getNextToken();