Package com.google.caja.lexer

Examples of com.google.caja.lexer.TokenConsumer


  public String getValue() { return label; }

  public String getLabel() { return label; }

  public void render(RenderContext rc) {
    TokenConsumer out = rc.getOut();
    out.mark(getFilePosition());
    out.consume("break");
    if (null != label && !"".equals(label)) {
      out.consume(label);
    }
  }
View Full Code Here


    System.err.println(s.toString());
  }

  public static String render(ParseTreeNode n) {
    StringBuilder output = new StringBuilder();
    TokenConsumer renderer = new JsPrettyPrinter(output);
    n.render(new RenderContext(renderer));
    renderer.noMoreTokens();
    return output.toString();
  }
View Full Code Here

  }

  private static void renderStatements(
      List<? extends CssTree> children, @Nullable FilePosition pos,
      RenderContext r) {
    TokenConsumer out = r.getOut();
    out.mark(pos);
    out.consume("{");
    CssTree last = null;
    for (CssTree decl : children) {
      if (last != null) {
        out.consume(";");
      }
      decl.render(r);
      last = decl;
    }
    out.mark(FilePosition.endOfOrNull(pos));
    out.consume("}");
  }
View Full Code Here

    }
  }

  private void writeFile(Appendable out, CajoledModule module)
      throws IOException {
    TokenConsumer tc;
    switch (config.renderer()) {
      case PRETTY:
        tc = module.makeRenderer(out, exHandler);
        break;
      case MINIFY:
        tc = new JsMinimalPrinter(new Concatenator(out,  exHandler));
        break;
      default:
        throw new SomethingWidgyHappenedError(
            "Unrecognized renderer: " + config.renderer());
    }
    RenderContext rc = new RenderContext(tc);
    module.render(rc);
    tc.noMoreTokens();
    out.append('\n');
  }
View Full Code Here

                    "html", renderDomAsJsStringLiteral(node)))))));
  }

  private static StringLiteral renderDomAsJsStringLiteral(Node node) {
    StringBuilder stringBuilder = new StringBuilder();
    TokenConsumer tc = new Concatenator(stringBuilder);
    Nodes.render(node, new RenderContext(tc));
    return StringLiteral.valueOf(Nodes.getFilePositionFor(node), stringBuilder);
  }
View Full Code Here

  }

  private String render(CajoledModule module,
                        Expression callbackExpression) {
    StringBuilder out = new StringBuilder();
    TokenConsumer tc = new JsPrettyPrinter(new Concatenator(out, exHandler));
    module.render(callbackExpression, new RenderContext(tc));
    tc.noMoreTokens();
    return out.toString();
  }
View Full Code Here

    }
    for (InputSource is : originalSrcs.keySet()) { mc.addInputSource(is); }

    StringBuilder actual = new StringBuilder();
    RenderContext rc = new RenderContext(new Concatenator(actual));
    TokenConsumer r = createRenderer(originalSrcs, mc, rc);
    for (String line
         : TestUtil.readResource(getClass(), rewrittenFile).split("\n")) {
      if (line.startsWith("#")) {
        line = line.substring(1).trim();
        if ("<null>".equals(line)) {
          r.mark(null);
        } else {
          r.mark(toFilePosition(line, originalSrcs));
        }
      } else {
        r.consume(line);
      }
    }
    r.noMoreTokens();

    assertEquals(
        TestUtil.readResource(getClass(), goldenFile).replace("@", "\uFFFD"),
        actual.toString());
  }
View Full Code Here

  public static String render(ParseTreeNode node) {
    if (node == null) {
      return null;
    }
    StringBuilder sb = new StringBuilder();
    TokenConsumer tc = node.makeRenderer(sb, null);
    node.render(new RenderContext(tc));
    tc.noMoreTokens();
    return sb.toString();
  }
View Full Code Here

   * Returns a source code string for the given program without surrounding
   * curly braces.
   */
  public static String renderProgram(Block program) {
    StringBuilder sb = new StringBuilder();
    TokenConsumer tc = program.makeRenderer(sb, null);
    program.renderBody(new RenderContext(tc));
    tc.noMoreTokens();
    return sb.toString();
  }
View Full Code Here

    // Make sure it's a JS node.
    StringBuilder sb = new StringBuilder();
    if (!(node.makeRenderer(sb, null) instanceof JsPrettyPrinter)) {
      throw new ClassCastException(node.getClass().getName());
    }
    TokenConsumer tc = new JsMinimalPrinter(sb);
    node.render(new RenderContext(tc));
    tc.noMoreTokens();
    return sb.toString();
  }
View Full Code Here

TOP

Related Classes of com.google.caja.lexer.TokenConsumer

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.