- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 04 Oct 2012 13:16:52 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/parser/analyzer In directory hutz:/tmp/cvs-serv3832 Modified Files: CssParser.java CssParser.jj CssParserTokenManager.java Log Message: step 1 of vendorext for values Index: CssParserTokenManager.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserTokenManager.java,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- CssParserTokenManager.java 6 Sep 2012 12:37:53 -0000 1.44 +++ CssParserTokenManager.java 4 Oct 2012 13:16:50 -0000 1.45 @@ -6,7 +6,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.net.URL; +import java.math.BigDecimal; import org.w3c.css.values.CssValue; +import org.w3c.css.values.CssCheckableValue; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssString; import org.w3c.css.values.CssURL; @@ -23,6 +25,7 @@ import org.w3c.css.values.CssUnicodeRange; [...5048 lines suppressed...] @@ -6168,8 +6203,8 @@ 0x2L, 0x0L, }; protected SimpleCharStream input_stream; -private final int[] jjrounds = new int[750]; -private final int[] jjstateSet = new int[1500]; +private final int[] jjrounds = new int[758]; +private final int[] jjstateSet = new int[1516]; protected char curChar; /** Constructor. */ public CssParserTokenManager(SimpleCharStream stream){ @@ -6196,7 +6231,7 @@ { int i; jjround = 0x80000001; - for (i = 750; i-- > 0;) + for (i = 758; i-- > 0;) jjrounds[i] = 0x80000000; } Index: CssParser.jj =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.jj,v retrieving revision 1.83 retrieving revision 1.84 diff -u -d -r1.83 -r1.84 --- CssParser.jj 6 Sep 2012 12:37:53 -0000 1.83 +++ CssParser.jj 4 Oct 2012 13:16:50 -0000 1.84 @@ -27,8 +27,10 @@ import java.util.ArrayList; import java.util.Iterator; import java.net.URL; +import java.math.BigDecimal; import org.w3c.css.values.CssValue; +import org.w3c.css.values.CssCheckableValue; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssString; import org.w3c.css.values.CssURL; @@ -45,6 +47,7 @@ import org.w3c.css.values.CssUnicodeRange; import org.w3c.css.values.CssResolution; import org.w3c.css.values.CssRatio; +import org.w3c.css.values.CssTypes; import org.w3c.css.properties.css.CssProperty; import org.w3c.css.parser.Frame; import org.w3c.css.parser.CssError; @@ -352,19 +355,32 @@ private void setValue(CssValue v, CssExpression expr, char operator, Token n, int token) throws ParseException { + + if ( token == FUNCTION ) { + if ( v.getType() == CssTypes.CSS_FUNCTION ) { + CssFunction f = (CssFunction) v; + if (f.getParameters().hasVendorExtensions()) { + expr.markVendorExtension(); + } + } + } if (n != null) { if (ac.getCssVersion() == CssVersion.CSS1 && - (n.image).equals("inherit")) { - incompatible_error = true; + (n.image).equals("inherit")) { + incompatible_error = true; } String val = (operator == ' ') ? n.image : operator+n.image; if (n.kind == CssParserConstants.IDENT) { - v.set(convertIdent(val), ac); + String s = convertIdent(val); + if ('-' == s.charAt(0)) { + expr.markVendorExtension(); + } + v.set(convertIdent(val), ac); } else if (n.kind == CssParserConstants.STRING) { - v.set(val, ac); + v.set(val, ac); } else { - v.set(val, ac); + v.set(val, ac); } } expr.addValue(v); @@ -2296,6 +2312,9 @@ } else { CssFunction f = new CssFunction(); f.set(n.image.substring(0, n.image.length() - 1), exp); + if (funcname.charAt(0) == '-') { + exp.markVendorExtension(); + } return f; } } Index: CssParser.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.java,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- CssParser.java 6 Sep 2012 12:37:52 -0000 1.84 +++ CssParser.java 4 Oct 2012 13:16:49 -0000 1.85 @@ -7,8 +7,10 @@ import java.util.ArrayList; import java.util.Iterator; import java.net.URL; +import java.math.BigDecimal; import org.w3c.css.values.CssValue; +import org.w3c.css.values.CssCheckableValue; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssString; import org.w3c.css.values.CssURL; @@ -25,6 +27,7 @@ import org.w3c.css.values.CssUnicodeRange; import org.w3c.css.values.CssResolution; import org.w3c.css.values.CssRatio; +import org.w3c.css.values.CssTypes; import org.w3c.css.properties.css.CssProperty; import org.w3c.css.parser.Frame; import org.w3c.css.parser.CssError; @@ -332,19 +335,32 @@ private void setValue(CssValue v, CssExpression expr, char operator, Token n, int token) throws ParseException { + + if ( token == FUNCTION ) { + if ( v.getType() == CssTypes.CSS_FUNCTION ) { + CssFunction f = (CssFunction) v; + if (f.getParameters().hasVendorExtensions()) { + expr.markVendorExtension(); + } + } + } if (n != null) { if (ac.getCssVersion() == CssVersion.CSS1 && - (n.image).equals("inherit")) { - incompatible_error = true; + (n.image).equals("inherit")) { + incompatible_error = true; } String val = (operator == ' ') ? n.image : operator+n.image; if (n.kind == CssParserConstants.IDENT) { - v.set(convertIdent(val), ac); + String s = convertIdent(val); + if ('-' == s.charAt(0)) { + expr.markVendorExtension(); + } + v.set(convertIdent(val), ac); } else if (n.kind == CssParserConstants.STRING) { - v.set(val, ac); + v.set(val, ac); } else { - v.set(val, ac); + v.set(val, ac); } } expr.addValue(v); @@ -3780,7 +3796,7 @@ if (funcname.equals("rgb(")) { color.setRGBColor(exp, ac); {if (true) return color;} - } else if (n.image.toLowerCase().equals("atsc-rgba(")) { + } else if (funcname.equals("atsc-rgba(")) { if (getAtRule().toString().equals("@media atsc-tv")) { color.setATSCRGBAColor(exp, ac); {if (true) return color;} @@ -3791,8 +3807,10 @@ } } else { CssFunction f = new CssFunction(); - f.set(n.image.substring(0, n.image.length() - 1), - exp); + f.set(n.image.substring(0, n.image.length() - 1), exp); + if (funcname.charAt(0) == '-') { + exp.markVendorExtension(); + } {if (true) return f;} } throw new Error("Missing return statement in function"); @@ -4090,6 +4108,16 @@ finally { jj_save(1, xla); } } + private boolean jj_3R_93() { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(35)) { + jj_scanpos = xsp; + if (jj_scan_token(48)) return true; + } + return false; + } + private boolean jj_3_2() { if (jj_scan_token(NUMBER)) return true; Token xsp; @@ -4109,16 +4137,6 @@ return false; } - private boolean jj_3R_93() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(35)) { - jj_scanpos = xsp; - if (jj_scan_token(48)) return true; - } - return false; - } - /** Generated Token Manager. */ public CssParserTokenManager token_source; SimpleCharStream jj_input_stream;
Received on Thursday, 4 October 2012 13:17:08 UTC