Example usage for com.google.common.css.compiler.ast CssValueNode getValue

List of usage examples for com.google.common.css.compiler.ast CssValueNode getValue

Introduction

In this page you can find the example usage for com.google.common.css.compiler.ast CssValueNode getValue.

Prototype

public String getValue() 

Source Link

Usage

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());
        }
    }
}