X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPPartitionScanner.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPPartitionScanner.java index 390bba8..55d8783 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPPartitionScanner.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPPartitionScanner.java @@ -8,18 +8,19 @@ Contributors: Igor Malinin - initial contribution - $Id: PHPPartitionScanner.java,v 1.31 2005-10-09 11:24:07 axelcl Exp $ + $Id: PHPPartitionScanner.java,v 1.35 2007-03-17 14:07:31 axelcl Exp $ **********************************************************************/ package net.sourceforge.phpeclipse.phpeditor.php; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import net.sourceforge.phpdt.internal.compiler.parser.Scanner; import net.sourceforge.phpeclipse.ui.text.rules.AbstractPartitioner; -import org.eclipse.jface.text.Assert; +//incastrix +//import org.eclipse.jface.text.Assert; +import org.eclipse.core.runtime.Assert; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.rules.ICharacterScanner; @@ -28,8 +29,8 @@ import org.eclipse.jface.text.rules.IToken; import org.eclipse.jface.text.rules.Token; /** - * - * + * + * * @author Igor Malinin */ public class PHPPartitionScanner implements IPartitionTokenScanner { @@ -268,7 +269,8 @@ public class PHPPartitionScanner implements IPartitionTokenScanner { if (position >= end) { return false; } - ch = document.getChar(position++); // ignore escaped character + ch = document.getChar(position++); // ignore escaped + // character } else if (ch == '"') { return true; } @@ -292,7 +294,8 @@ public class PHPPartitionScanner implements IPartitionTokenScanner { if (position >= end) { return false; } - ch = document.getChar(position++); // ignore escaped character + ch = document.getChar(position++); // ignore escaped + // character } else if (ch == '\'') { return true; } @@ -313,6 +316,14 @@ public class PHPPartitionScanner implements IPartitionTokenScanner { return false; } ch = document.getChar(position++); + // #1493165 start + while (ch == ' ') { + if (position >= end) { + return false; + } + ch = document.getChar(position++); + } + // #1493165 end if (!Scanner.isPHPIdentifierStart(ch)) { return false; } @@ -335,17 +346,16 @@ public class PHPPartitionScanner implements IPartitionTokenScanner { if (position >= end) { return false; } - if (pos==heredocIdent.length) { + if (pos == heredocIdent.length) { return true; } - ch = document.getChar(position++); // ignore escaped character + ch = document.getChar(position++); // ignore escaped + // character if (ch != heredocIdent[pos]) { break; } pos++; } - } else if (ch == '"') { - return true; } } } catch (BadLocationException e) { @@ -430,7 +440,8 @@ public class PHPPartitionScanner implements IPartitionTokenScanner { /* * @see org.eclipse.jface.text.rules.IPartitionTokenScanner */ - public void setPartialRange(IDocument document, int offset, int length, String contentType, int partitionOffset) { + public void setPartialRange(IDocument document, int offset, int length, + String contentType, int partitionOffset) { // state = STATE_DEFAULT; if (partitionOffset > -1) { int delta = offset - partitionOffset;