Package com.github.sommeri.less4j.core.ast

Examples of com.github.sommeri.less4j.core.ast.IdentifierExpression


  private Expression createIdentifierExpression(HiddenTokenAwareTree parent, String text) {
    if (NamedColorExpression.isColorName(text))
      return new NamedColorExpression(parent, text);

    return new IdentifierExpression(parent, text);
  }
View Full Code Here


        SignedExpression negated = (SignedExpression) first;
        first = negated.getExpression();
        sign = negated.getSign().toSymbol();
      }
      if (first.getType() == ASTCssNodeType.IDENTIFIER_EXPRESSION) {
        IdentifierExpression ident = (IdentifierExpression) first;
        String lowerCaseValue = ident.getValue().toLowerCase();
        lowerCaseValue = sign + lowerCaseValue;
        if ("even".equals(lowerCaseValue)) {
          return new Nth(token, null, null, Form.EVEN);
        } else if ("odd".equals(lowerCaseValue)) {
          return new Nth(token, null, null, Form.ODD);
        } else if ("n".equals(lowerCaseValue) || "-n".equals(lowerCaseValue) || "+n".equals(lowerCaseValue)) {
          boolean expliciteSign = !"n".equals(lowerCaseValue);
          first = new NumberExpression(token.getChild(0), lowerCaseValue, NumberExpression.Dimension.REPEATER, expliciteSign);
        } else
          throw new IllegalStateException("Unexpected identifier value for nth: " + ident.getValue());
      }
    }

    if (token.getChild(1) != null && hasChildren(token.getChild(1))) {
      second = termBuilder.buildFromChildTerm(token.getChild(1));
View Full Code Here

    this.value = value ? "true" : "false";
  }

  @Override
  public Expression evaluate(List<Expression> parameters, ProblemsHandler problemsHandler, FunctionExpression call, Expression evaluatedParameter) {
    return new IdentifierExpression(call.getUnderlyingStructure(), value);
  }
View Full Code Here

  private Expression buildResult(Expression targetExpression, String replaced) {
    HiddenTokenAwareTree token = targetExpression.getUnderlyingStructure();
    switch (targetExpression.getType()) {
    case IDENTIFIER_EXPRESSION:
      return new IdentifierExpression(token, replaced);

    case STRING_EXPRESSION:
      CssString string = (CssString) targetExpression;
      return new CssString(token, replaced, string.getQuoteType());
View Full Code Here

  private Expression validate(Expression replacement) {
    if (replacement.getType() != ASTCssNodeType.COLOR_EXPRESSION)
      return replacement;

    if (replacement instanceof NamedColorExpression)
      return new IdentifierExpression(replacement.getUnderlyingStructure(), "");

    return new IdentifierExpression(replacement.getUnderlyingStructure(), "");
  }
View Full Code Here

    Expression expression = splitParameters.get(0);
    Expression unitExpression = splitParameters.get(1);
   
    String unit = utils.contentToString(unitExpression);
    if (expression.getType()!=ASTCssNodeType.NUMBER || unit==null)
      return new IdentifierExpression(functionCall.getUnderlyingStructure(), "false");
   
    return isunit((NumberExpression) expression, unit, functionCall.getUnderlyingStructure());
  }
View Full Code Here

    String suffix = expression.getSuffix();
    String result="true";
    if (suffix == null || unit.isEmpty() || !suffix.equals(unit))
      result="false";
   
    return new IdentifierExpression(token, result);
  }
View Full Code Here

    if (parameters.size()>1)
      problemsHandler.wrongNumberOfArgumentsToFunctionMin(call.getParameter(), call.getName(), 1);

    Expression parameter = parameters.get(0);
    if (checkType(parameter)) {
      return new IdentifierExpression(parameter.getUnderlyingStructure(), "true");
    } else {
      return new IdentifierExpression(parameter.getUnderlyingStructure(), "false");
    }
  }
View Full Code Here

class GetUnit extends CatchAllMultiParameterFunction {

  @Override
  protected Expression evaluate(List<Expression> splitParameters, ProblemsHandler problemsHandler, FunctionExpression functionCall, HiddenTokenAwareTree token) {
    NumberExpression dimension = (NumberExpression) splitParameters.get(0);
    return new IdentifierExpression(token, dimension.getSuffix()); //not sure about the type
  }
View Full Code Here

    functions.add(pack);
  }

  public Expression joinAll(List<Expression> allArguments, ASTCssNode parent) {
    if (allArguments.isEmpty())
      return new IdentifierExpression(parent.getUnderlyingStructure(), "");

    return new ListExpression(parent.getUnderlyingStructure(), allArguments, new ListExpressionOperator(parent.getUnderlyingStructure(), ListExpressionOperator.Operator.EMPTY_OPERATOR));
  }
View Full Code Here

TOP

Related Classes of com.github.sommeri.less4j.core.ast.IdentifierExpression

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.