2002/css-validator/org/w3c/css/parser/analyzer CssParserTokenManager.java,1.15,1.16 CssParser.jj,1.22,1.23 CssParser.java,1.25,1.26

Update of /sources/public/2002/css-validator/org/w3c/css/parser/analyzer
In directory hutz:/tmp/cvs-serv12655/org/w3c/css/parser/analyzer

Modified Files:
	CssParserTokenManager.java CssParser.jj CssParser.java 
Log Message:
Correcting some imperfection to fix bug reported here :
http://lists.w3.org/Archives/Public/www-validator-css/2007Sep/0022.html
http://lists.w3.org/Archives/Public/www-validator-css/2007Sep/0023.html

Index: CssParserTokenManager.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserTokenManager.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- CssParserTokenManager.java	13 Jul 2007 13:32:20 -0000	1.15
+++ CssParserTokenManager.java	24 Sep 2007 15:45:26 -0000	1.16
@@ -1,6 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. CssParserTokenManager.java */
 package org.w3c.css.parser.analyzer;
-
 import java.io.InputStream;
 import java.util.Vector;
 import java.util.Enumeration;
@@ -54,3903 +53,3985 @@
 import org.w3c.css.selectors.attributes.AttributeSubstr;
 import org.w3c.css.selectors.attributes.AttributeSuffix;
 
-public class CssParserTokenManager implements CssParserConstants {
[...7854 lines suppressed...]
+     catch (java.io.IOException e1) {
+        EOFSeen = true;
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+        if (curChar == '\n' || curChar == '\r') {
+           error_line++;
+           error_column = 0;
+        }
+        else
+           error_column++;
+     }
+     if (!EOFSeen) {
+        input_stream.backup(1);
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+     }
+     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+   }
+  }
+}
 
 }

Index: CssParser.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- CssParser.java	13 Sep 2007 10:09:19 -0000	1.25
+++ CssParser.java	24 Sep 2007 15:45:26 -0000	1.26
@@ -57,4053 +57,3859 @@
 import org.w3c.css.selectors.attributes.AttributeSuffix;
 
 /**
- * A CSS3 parser
- * 
+ * A CSS3 parser  
+ *
  * @author Philippe Le H???garet and Sijtsche Smeman
  * @version $Revision$
  */
 public abstract class CssParser implements CssParserConstants {
[...7695 lines suppressed...]
+      if (p.next == null) { p = p.next = new JJCalls(); break; }
+      p = p.next;
+    }
+    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
+  }
 
-	static final class JJCalls {
-		int gen;
-		Token first;
-		int arg;
-		JJCalls next;
-	}
+  static final class JJCalls {
+    int gen;
+    Token first;
+    int arg;
+    JJCalls next;
+  }
 
 }

Index: CssParser.jj
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.jj,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- CssParser.jj	24 Sep 2007 11:18:47 -0000	1.22
+++ CssParser.jj	24 Sep 2007 15:45:26 -0000	1.23
@@ -1178,7 +1178,16 @@
        ( LOOKAHEAD(2) 
          comb=combinator() { 
          if ("none".equals(ac.getProfile())) {
-           ac.getFrame().addWarning("nocomb");
+           String[] warns = { String.valueOf(comb), ac.getMsg().getString(ac.getCssVersion()) };
+           if (ac.getCssVersion().equals("css1") ||
+               getAtRule().toString().equals("@media atsc-tv")) {
+               if (comb == '+')
+                  ac.getFrame().addWarning("nocomb", warns);
+               else if (comb == '>')
+                  ac.getFrame().addWarning("nocomb", warns);
+           } else if (!ac.getCssVersion().equals("css3") && comb == '~') {
+              ac.getFrame().addWarning("nocomb", warns);
+           }
          } else {
 	       if (ac.getProfile() != null) {
 			  if (ac.getProfile().equals("mobile") || 
@@ -1197,7 +1206,6 @@
               if (comb == '~')
 			  throw new InvalidParamException("nocomb", "~", ac);
             }
-          }
               
 	    }
 		switch(comb) {
@@ -1513,7 +1521,14 @@
 			if (ac.getCssVersion().equals("css3")) {
 				s.addPseudo(convertIdent(n.image).toLowerCase());
 			} else if ("none".equals(ac.getProfile())) {
-				ac.getFrame().addWarning("pseudo-element");
+				String cssVersion = ac.getCssVersion();
+				ac.setCssVersion("css3");
+				try {
+				   s.addPseudo(convertIdent(n.image).toLowerCase());
+				} finally {
+					ac.setCssVersion(cssVersion);
+					ac.getFrame().addWarning("pseudo", new String[] { convertIdent(n.image).toLowerCase(), ac.getMsg().getString(ac.getCssVersion()) });
+				}
 			} else {
 				if (true)
 					throw new InvalidParamException("pseudo-element",

Received on Monday, 24 September 2007 15:45:44 UTC