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

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


  private Expression buildFromColorHash(HiddenTokenAwareTree token, HiddenTokenAwareTree first) {
    String text = first.getText();
    ColorExpression parsedColor = ConversionUtils.parseColor(token, text);
    if (parsedColor == null) {
      FaultyExpression faultyExpression = new FaultyExpression(token);
      problemsHandler.notAColor(faultyExpression, text);
      return faultyExpression;
    }

    return parsedColor;
View Full Code Here


    if (parameter.getType() == ASTCssNodeType.NUMBER)
      return evaluate((NumberExpression) parameter);

    problemsHandler.warnEFunctionArgument(parameter);

    return new FaultyExpression(call.getParameter());
  }
View Full Code Here

      return evaluate((EscapedValue) format, parameters.subList(1, parameters.size()), problemsHandler, call.getUnderlyingStructure());

    if (!format.isFaulty())
      problemsHandler.errFormatWrongFirstParameter(call.getParameter());

    return new FaultyExpression(call);
  }
View Full Code Here

      JsRegExp exp = JsRegExp.compile(pattern, flags);
      String replaced = exp.replace(string, replacement);
      return buildResult(targetExpression, replaced);
    } catch (IllegalArgumentException ex) {
      problemsHandler.regexpFunctionError(call, ex.getMessage());
      return new FaultyExpression(call.getUnderlyingStructure());
    }
  }
View Full Code Here

  @Override
  public Expression evaluate(List<Expression> parameters, ProblemsHandler problemsHandler, FunctionExpression call, Expression evaluatedParameter) {
    if (getMinParameters() == getMaxParameters() && parameters.size()!=getMinParameters()) {
      problemsHandler.wrongNumberOfArgumentsToFunction(call, getName(), getMinParameters());
      return new FaultyExpression(call);
    }

    if (parameters.size() < getMinParameters()) {
      problemsHandler.wrongNumberOfArgumentsToFunctionMin(call, getName(), getMinParameters());
      return new FaultyExpression(call);
    }

    if (parameters.size() > getMaxParameters()) {
      problemsHandler.wrongNumberOfArgumentsToFunctionMax(call, getName(), getMaxParameters());
      return new FaultyExpression(call);
    }

    for (int i = 0; i < parameters.size(); i++) {
      if (!validateParameter(parameters.get(i), i, problemsHandler)) {
        return new FaultyExpression(call);
      }
    }

    return evaluate(parameters, problemsHandler, call, call.getUnderlyingStructure());
  }
View Full Code Here

      problemsHandler.wrongNumberOfArgumentsToFunctionMin(call.getParameter(), call.getName(), 1);

    Expression parameter = parameters.get(0);
    if (!(parameter instanceof EmbeddedScript)) {
      problemsHandler.wrongArgumentTypeToFunction(parameter, name+"...`", parameter.getType(),ASTCssNodeType.EMBEDDED_SCRIPT);
      return new FaultyExpression(call);
    }
   
    warn(call, problemsHandler);
   
    EmbeddedScript parameterAsStr = (EmbeddedScript) parameter;
View Full Code Here

      return toDataUri(token, mimetype, data, fragments);

    } catch (FileNotFound ex) {
      problemsHandler.errorFileNotFound(functionCall, filename);
      return new FaultyExpression(functionCall.getUnderlyingStructure());
    } catch (CannotReadFile e) {
      problemsHandler.errorFileCanNotBeRead(functionCall, filename);
      return new FaultyExpression(functionCall.getUnderlyingStructure());
    } catch (StringSourceException ex) {
      // imports are relative to current file and we do not know its location
      problemsHandler.errorFileReferenceNoBaseDirectory(functionCall, filename);
      return new FaultyExpression(functionCall.getUnderlyingStructure());
    }

  }
View Full Code Here

      gradientType = "radial";
      gradientDirectionSvg = "cx=\"50%\" cy=\"50%\" r=\"75%\"";
      rectangleDimension = "x=\"-50\" y=\"-50\" width=\"101\" height=\"101\"";
    } else {
      problemsHandler.wrongEnumeratedArgument(functionCall, "direction", "to bottom", "to right", "to bottom right", "to top right", "ellipse", "ellipse at center");
      return new FaultyExpression(functionCall);
    }

    StringBuilder returner = new StringBuilder("<?xml version=\"1.0\" ?>");
    returner.append("<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"100%\" height=\"100%\" viewBox=\"0 0 1 1\" preserveAspectRatio=\"none\">");
    returner.append("<");
    returner.append(gradientType);
    returner.append("Gradient id=\"gradient\" gradientUnits=\"userSpaceOnUse\" ");
    returner.append(gradientDirectionSvg);
    returner.append(">");

    Iterator<Expression> iterator = stops.iterator();
    boolean isFirstStop = true;
    while (iterator.hasNext()) {
      Expression stop = iterator.next();
      if (!addColorStop(returner, stop, isFirstStop, !iterator.hasNext(), functionCall, problemsHandler))
        return new FaultyExpression(functionCall);
      isFirstStop = false;
    }

    returner.append("</").append(gradientType).append("Gradient>");
    returner.append("<rect ").append(rectangleDimension).append(" fill=\"url(#gradient)\" /></svg>");
View Full Code Here

  }

  private Expression createResultNumber(HiddenTokenAwareTree parentToken, Double resultVal, NumberExpression first, NumberExpression second) {
    if (resultVal.isInfinite()) {
      problemsHandler.divisionByZero(second);
      return new FaultyExpression(second);
    }
   
    Dimension dimension = null;
    String suffix = null;
    if (first.getDimension()!=Dimension.NUMBER) {
View Full Code Here

    String text = string.getValue();

    //this does a bit more then less.js: it is able to parse named colors
    ColorExpression parsedColor = ConversionUtils.parseColor(token, text);
    if (parsedColor == null) {
      FaultyExpression faultyExpression = new FaultyExpression(token);
      problemsHandler.notAColor(faultyExpression, text);
    }

    return parsedColor;
  }
View Full Code Here

TOP

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

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.