List of usage examples for com.google.common.css.compiler.ast CssValueNode getValue
public String getValue()
From source file:com.google.gwt.resources.gss.CreateRuntimeConditionalNodes.java
private String extractRuntimeCondition(CssValueNode node) { Matcher m = EVAL_FUNCTION.matcher(node.getValue()); return m.matches() ? m.group(1) : null; }
From source file:com.google.gwt.resources.gss.ResourceUrlFunction.java
@Override public List<CssValueNode> getCallResultNodes(List<CssValueNode> cssValueNodes, ErrorManager errorManager) throws GssFunctionException { CssValueNode functionToEval = cssValueNodes.get(0); String value = functionToEval.getValue(); SourceCodeLocation location = functionToEval.getSourceCodeLocation(); String javaExpression = buildJavaExpression(value, location, errorManager); CssFunctionNode urlNode = buildUrlNode(javaExpression, location); return ImmutableList.<CssValueNode>of(urlNode); }
From source file:com.google.gwt.resources.gss.EvalFunction.java
@Override public List<CssValueNode> getCallResultNodes(List<CssValueNode> args, ErrorManager errorManager) throws GssFunctionException { CssValueNode functionToEval = args.get(0); //TODO check that the value of functionToEval match a certain pattern or exist ? CssJavaExpressionNode result = new CssJavaExpressionNode(functionToEval.getValue()); return ImmutableList.of((CssValueNode) result); }
From source file:com.google.gwt.resources.gss.CssPrinter.java
@Override protected void appendValueNode(CssValueNode node) { if (node instanceof CssJavaExpressionNode || node instanceof CssDotPathNode) { concat("(" + node.getValue() + ")"); } else {/* w ww .j av a 2s. co m*/ super.appendValueNode(node); } }
From source file:io.bazel.rules.closure.webfiles.WebfilesValidator.java
private void validateCss(final Path path, final Webpath origin, String source) { CssTree stylesheet = cssParser.parse(path.toString(), source); new PassRunner(new JobDescriptionBuilder().getJobDescription(), new BasicErrorManager() { @Override//from w w w . j a v a2 s .c o m public void print(String message) { WebfilesValidator.this.errors.put(CSS_VALIDATION_ERROR, String.format("%s: %s", path, message)); } }).runPasses(stylesheet); stylesheet.getVisitController().startVisit(new DefaultTreeVisitor() { private boolean inUrlFunction; @Override public boolean enterFunctionNode(CssFunctionNode function) { return (inUrlFunction = function.getFunction().getFunctionName().equals("url")); } @Override public void leaveFunctionNode(CssFunctionNode value) { inUrlFunction = false; } @Override public boolean enterArgumentNode(CssValueNode argument) { if (inUrlFunction) { String uri = nullToEmpty(argument.getValue()); if (!shouldIgnoreUri(uri)) { addRelationship(path, origin, Webpath.get(uri)); } } return false; } }); }
From source file:com.google.gwt.resources.gss.ExternalClassesCollector.java
private void processParameters(List<CssValueNode> values) { for (CssValueNode value : values) { if (value instanceof CssCompositeValueNode) { processParameters(((CssCompositeValueNode) value).getValues()); } else if (value instanceof CssStringNode) { String selector = ((CssStringNode) value).getConcreteValue(); if (STAR_PREFIX.equals(selector)) { matchAll = true;// ww w .j a v a 2s . c o m } else if (selector.endsWith(STAR_PREFIX)) { externalClassPrefixes.add(selector.substring(0, selector.length() - 1)); } else { externalClassNames.add(selector); } } else { externalClassNames.add(value.getValue()); } } }