X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Scanner.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Scanner.java index a483ee4..2965347 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Scanner.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Scanner.java @@ -38,7 +38,9 @@ public class Scanner implements IScanner, ITerminalSymbols { public boolean ignorePHPOneLiner = false; public boolean phpMode = false; - + + public boolean phpExpressionTag = false; + public Stack encapsedStringStack = null; public char currentCharacter; @@ -1200,8 +1202,9 @@ public class Scanner implements IScanner, ITerminalSymbols { } public int getNextToken() throws InvalidInputException { + phpExpressionTag = false; if (!phpMode) { - return getInlinedHTML(currentPosition); + return getInlinedHTMLToken(currentPosition); } if (phpMode) { this.wasAcr = false; @@ -1553,7 +1556,7 @@ public class Scanner implements IScanner, ITerminalSymbols { phpMode = true; return TokenNameINLINE_HTML; } - return getInlinedHTML(currentPosition - 2); + return getInlinedHTMLToken(currentPosition - 2); } return TokenNameQUESTION; case ':': @@ -1852,39 +1855,6 @@ public class Scanner implements IScanner, ITerminalSymbols { return TokenNameEOF; } - private int getInlinedHTML(int start) throws InvalidInputException { - int token = getInlinedHTMLToken(start); - if (token == TokenNameINLINE_HTML) { - // Stack stack = new Stack(); - // // scan html for errors - // Source inlinedHTMLSource = new Source(new String(source, startPosition, currentPosition - startPosition)); - // int lastPHPEndPos=0; - // for (Iterator i=inlinedHTMLSource.getNextTagIterator(0); i.hasNext();) { - // Tag tag=(Tag)i.next(); - // - // if (tag instanceof StartTag) { - // StartTag startTag=(StartTag)tag; - // // System.out.println("startTag: "+tag); - // if (startTag.isServerTag()) { - // // TODO : what to do with a server tag ? - // } else { - // // do whatever with HTML start tag - // // use startTag.getElement() to find the element corresponding - // // to this start tag which may be useful if you implement code - // // folding etc - // stack.push(startTag); - // } - // } else { - // EndTag endTag=(EndTag)tag; - // StartTag stag = (StartTag) stack.peek(); - //// System.out.println("endTag: "+tag); - // // do whatever with HTML end tag. - // } - // } - } - return token; - } - /** * @return * @throws InvalidInputException @@ -1904,9 +1874,11 @@ public class Scanner implements IScanner, ITerminalSymbols { if ((currentCharacter != 'P') && (currentCharacter != 'p')) { if (currentCharacter != '=') { //