Ticket #19875: 19875.patch
File 19875.patch, 3.7 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
618 618 /** 619 619 * entry point for the main parser 620 620 * @param sheet MapCSS style source 621 * @param metadataOnly if true, stop reading after first rule that is not a meta rule 621 622 * @throws ParseException in case of parsing error 622 623 */ 623 void sheet(MapCSSStyleSource sheet ):624 void sheet(MapCSSStyleSource sheet, boolean metadataOnly): 624 625 { 625 626 } 626 627 { … … 629 630 ( 630 631 try { 631 632 rule() w() 633 { 634 if (metadataOnly && !sheet.rules.isEmpty()) { 635 // get first selector of last rule 636 Selector sel = sheet.rules.get(sheet.rules.size() - 1).selectors.get(0); 637 if (!(sel instanceof GeneralSelector) || !Selector.BASE_META.equals(sel.getBase())) 638 return; 639 } 640 } 632 641 } catch (MapCSSException mex) { 633 642 Logging.error(mex); 634 643 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(); … … 175 175 if (!metadataOnly) { 176 176 loadCanvas(); 177 177 loadSettings(); 178 } else { 179 rules.clear(); 178 180 } 179 181 } finally { 180 182 closeSourceInputStream(in); -
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