public void checkForUnusedTypeSelectors(Set defNames) { Iterator iterator = selectors.entrySet().iterator(); Set unqualifiedDefNames = new HashSet(); Iterator defNameIterator = defNames.iterator(); while (defNameIterator.hasNext()) { String defName = (String) defNameIterator.next(); unqualifiedDefNames.add(defName.replaceFirst(".*:", "")); } while (iterator.hasNext()) { Entry entry = (Entry) iterator.next(); String styleName = (String) entry.getKey(); StyleDef styleDef = (StyleDef) entry.getValue(); String typeName = StyleDef.dehyphenize(styleName); if (styleDef.isTypeSelector() && localStyleTypeNames.contains(styleName) && !unqualifiedDefNames.contains(typeName) && !styleName.equals("global")) { if (configuration.showUnusedTypeSelectorWarnings()) { ThreadLocalToolkit.log( new UnusedTypeSelector( compilationUnit.getSource().getName(), styleDef.getLineNumber(), styleName)); } } } }
private void addStyleTypeSelector(String name, Rule rule, boolean local, int lineNumber) { StyleDef styleDef; if (local) { localStyleTypeNames.add(name); } if (selectors.containsKey(name)) { styleDef = (StyleDef) selectors.get(name); } else { styleDef = new StyleDef( name, true, mxmlDocument, compilationUnit.getSource(), lineNumber, perCompileData); selectors.put(name, styleDef); } styleDef.addRule(rule); if (mxmlDocument != null) { Iterator iterator = styleDef.getImports().iterator(); while (iterator.hasNext()) { Import importObject = (Import) iterator.next(); mxmlDocument.addImport(importObject.getValue(), importObject.getLineNumber()); } } }
private String generateStyleSourceName(StyleDef styleDef) { String genFileName; String genDir = configuration.getGeneratedDirectory(); if (genDir != null) { genFileName = genDir + File.separatorChar + "_" + styleDef.getName() + "Style.as"; } else { genFileName = "_" + styleDef.getName() + "Style.as"; } return genFileName; }
public List processDependencies(Set defNames, ResourceContainer resources) { List extraSources = new ArrayList(); if (!fontFaceRules.isEmpty()) { // C: mixins in the generated FlexInit class are referred to by "names". that's why // extraClasses // is necessary. compilationUnit.extraClasses.add(_FONTFACERULES); compilationUnit.mixins.add(_FONTFACERULES); extraSources.add(generateFontFaceRules(resources)); } Set unqualifiedDefNames = new HashSet(); Iterator defNameIterator = defNames.iterator(); while (defNameIterator.hasNext()) { String defName = (String) defNameIterator.next(); unqualifiedDefNames.add(defName.replaceFirst(".*:", "")); } Iterator iterator = selectors.entrySet().iterator(); while (iterator.hasNext()) { Entry entry = (Entry) iterator.next(); String styleName = (String) entry.getKey(); StyleDef styleDef = (StyleDef) entry.getValue(); String typeName = StyleDef.dehyphenize(styleName); if (!styleDef.isTypeSelector() || (unqualifiedDefNames.contains(typeName) || configuration.keepAllTypeSelectors()) || styleName.equals("global")) { String className = "_" + typeName + "Style"; // C: mixins in the generated FlexInit class are referred to by "names". that's why // extraClasses // is necessary. compilationUnit.extraClasses.add(className); compilationUnit.mixins.add(className); extraSources.add(generateStyleSource(styleDef, resources)); } } return extraSources; }