- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 08 Sep 2005 16:37:46 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/css In directory hutz:/tmp/cvs-serv11982 Modified Files: StyleSheetParser.java Log Message: for jdk1.2 Index: StyleSheetParser.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/css/StyleSheetParser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- StyleSheetParser.java 8 Sep 2005 12:23:33 -0000 1.7 +++ StyleSheetParser.java 8 Sep 2005 16:37:44 -0000 1.8 @@ -15,6 +15,8 @@ import java.util.StringTokenizer; import java.util.Vector; +import java.lang.reflect.Constructor; + import org.w3c.css.parser.AtRule; import org.w3c.css.parser.AtRuleMedia; import org.w3c.css.parser.AtRulePage; @@ -39,6 +41,18 @@ public final class StyleSheetParser implements CssValidatorListener, CssParser { + private static Constructor co = null; + + static { + try { + Class c = java.lang.Exception.class; + Class cp[] = { java.lang.Exception.class }; + co = c.getDeclaredConstructor(cp); + } catch (NoSuchMethodException ex) { + co = null; + } + } + CssFouffa cssFouffa; StyleSheet style = new StyleSheet(); @@ -64,7 +78,9 @@ * @param selector the selector * @param declarations Properties to associate with contexts */ - public void handleRule(ApplContext ac, CssSelectors selector, Vector properties) { + public void handleRule(ApplContext ac, CssSelectors selector, + Vector properties) + { if (selector.getAtRule() instanceof AtRulePage) { style.remove(selector); } @@ -261,12 +277,30 @@ -1, e)); notifyErrors(er); } catch(TokenMgrError e) { - Errors er = new Errors(); - er.addError(new org.w3c.css.parser.CssError(url.toString(), e.getErrorLine(), new CssParseException(new Exception(e)))); + Errors er = new Errors(); + CssParseException cpe = null; + if (co != null) { + try { + Object o[] = new Object[1]; + o[0] = e; + Exception new_e = (Exception) co.newInstance(o); + cpe = new CssParseException(new_e); + } catch (Exception ex) { + cpe = null; + } + } + if (cpe == null) { + cpe = new CssParseException(new Exception(e.getMessage())); + } + er.addError(new org.w3c.css.parser.CssError(url.toString(), + e.getErrorLine(), + cpe)); notifyErrors(er); } catch(RuntimeException e) { Errors er = new Errors(); - er.addError(new org.w3c.css.parser.CssError(url.toString(), cssFouffa.getLine(), new CssParseException(e))); + er.addError(new org.w3c.css.parser.CssError(url.toString(), + cssFouffa.getLine(), + new CssParseException(e))); notifyErrors(er); } }
Received on Thursday, 8 September 2005 16:38:05 UTC