Ticket #19875: 19875.2.patch
File 19875.2.patch, 3.4 KB (added by , 4 years ago) |
---|
-
src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
356 356 final MapCSSStyleSource source = new MapCSSStyleSource(""); 357 357 final MapCSSParser preprocessor = new MapCSSParser(css, MapCSSParser.LexicalState.PREPROCESSOR); 358 358 try (StringReader mapcss = new StringReader(preprocessor.pp_root(source))) { 359 new MapCSSParser(mapcss, MapCSSParser.LexicalState.DEFAULT).sheet(source );359 new MapCSSParser(mapcss, MapCSSParser.LexicalState.DEFAULT).sheet(source, false); 360 360 } 361 361 // Ignore "meta" rule(s) from external rules of JOSM wiki 362 362 source.removeMetaRules(); -
src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj
541 541 /** 542 542 * entry point for the main parser 543 543 * @param sheet MapCSS style source 544 * @param metadataOnly if true, stop reading after first rule that is not a meta rule 544 545 * @throws ParseException in case of parsing error 545 546 */ 546 void sheet(MapCSSStyleSource sheet ):547 void sheet(MapCSSStyleSource sheet, boolean metadataOnly): 547 548 { 548 549 } 549 550 { … … 552 553 ( 553 554 try { 554 555 rule() w() 556 { 557 if (metadataOnly && !sheet.rules.isEmpty()) { 558 // get first selector of last rule 559 Selector sel = sheet.rules.get(sheet.rules.size() - 1).selectors.get(0); 560 if (!(sel instanceof GeneralSelector) || !Selector.BASE_META.equals(sel.getBase())) { 561 return; 562 } 563 } 564 } 555 565 } catch (MapCSSException mex) { 556 566 Logging.error(mex); 557 567 error_skipto(RBRACE, mex); -
src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java
168 168 169 169 // do the actual mapcss parsing 170 170 try (Reader in2 = new StringReader(preprocessor.pp_root(this))) { 171 new MapCSSParser(in2, MapCSSParser.LexicalState.DEFAULT).sheet(this );171 new MapCSSParser(in2, MapCSSParser.LexicalState.DEFAULT).sheet(this, metadataOnly); 172 172 } 173 173 174 174 loadMeta(); -
scripts/TagInfoExtract.java
354 354 MapCSSParser parser = new MapCSSParser(reader, MapCSSParser.LexicalState.DEFAULT); 355 355 styleSource = new MapCSSStyleSource(""); 356 356 styleSource.url = ""; 357 parser.sheet(styleSource );357 parser.sheet(styleSource, false); 358 358 } 359 359 } 360 360