Prepared better HEREDOC support; see comment for bug #1319276
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / FastJavaPartitionScanner.java
index f902c59..08d9af2 100644 (file)
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -37,7 +37,7 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
 
   private static final int STRING_SQ = 5;
 
-  //   private static final int CHARACTER= 4;
+  private static final int STRING_HEREDOC = 6;
 
   // beginning of prefixes and postfixes
   private static final int NONE = 0;
@@ -54,6 +54,8 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
 
   private static final int CARRIAGE_RETURN = 6; // postfix for STRING_DQ, CHARACTER and SINGLE_LINE_COMMENT
 
+//  private static final int HEREDOC = 7;
+
   /** The scanner. */
   private final BufferedDocumentScanner fScanner = new BufferedDocumentScanner(1000); // faster implementation
 
@@ -85,7 +87,8 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
       new Token(PHP_MULTILINE_COMMENT),
       new Token(PHP_PHPDOC_COMMENT),
       new Token(PHP_STRING_DQ),
-      new Token(PHP_STRING_SQ) };
+      new Token(PHP_STRING_SQ),
+      new Token(PHP_STRING_HEREDOC)};
 
   public FastJavaPartitionScanner(boolean emulate) {
     fEmulate = emulate;
@@ -433,16 +436,16 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
       //                                       fLast= (fLast == BACKSLASH) ? NONE : BACKSLASH;
       //                                       fTokenLength++;
       //                                       break;
-      //       
+      //
       //                               case '\'':
       //                                       if (fLast != BACKSLASH) {
       //                                               return postFix(CHARACTER);
-      //       
+      //
       //                                       } else {
       //                                               consume();
       //                                               break;
       //                                       }
-      //       
+      //
       //                               default:
       //                                       consume();
       //                                       break;
@@ -525,8 +528,13 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
 
     else if (contentType.equals(PHP_STRING_DQ))
       return STRING_DQ;
+
     else if (contentType.equals(PHP_STRING_SQ))
       return STRING_SQ;
+
+    else if (contentType.equals(PHP_STRING_HEREDOC))
+      return STRING_HEREDOC;
+
     //         else if (contentType.equals(JAVA_CHARACTER))
     //                 return CHARACTER;