Example usage for org.antlr.v4.runtime Token getText

List of usage examples for org.antlr.v4.runtime Token getText

Introduction

In this page you can find the example usage for org.antlr.v4.runtime Token getText.

Prototype

String getText();

Source Link

Document

Get the text of the token.

Usage

From source file:com.github.haixing_hu.criteria.parser.sql.CriterionParsingVisitor.java

License:Apache License

private UnaryOperator parseUnaryOperator(final Token token) {
    switch (token.getType()) {
    case CriterionParser.IS_NULL:
        return UnaryOperator.NULL;
    case CriterionParser.IS_NOT_NULL:
        return UnaryOperator.NOT_NULL;
    default:/*w  w w.  j  a  v  a 2 s .  com*/
        throw new IllegalArgumentException("Invalid token for unary operator: " + token.getText());
    }
}

From source file:com.github.haixing_hu.criteria.parser.sql.CriterionParsingVisitor.java

License:Apache License

private BinaryOperator parseBinaryOperator(final Token token) {
    switch (token.getType()) {
    case CriterionParser.EQUAL:
        return BinaryOperator.EQUAL;
    case CriterionParser.NOT_EQUAL:
        return BinaryOperator.NOT_EQUAL;
    case CriterionParser.LESS:
        return BinaryOperator.LESS;
    case CriterionParser.LESS_EQUAL:
        return BinaryOperator.LESS_EQUAL;
    case CriterionParser.GREATER:
        return BinaryOperator.GREATER;
    case CriterionParser.GREATER_EQUAL:
        return BinaryOperator.GREATER_EQUAL;
    default://from w w  w.  j  a  va  2s.  co  m
        throw new IllegalArgumentException("Invalid token for binary operator: " + token.getText());
    }
}

From source file:com.github.haixing_hu.criteria.parser.sql.CriterionParsingVisitor.java

License:Apache License

private CollectionOperator parseCollectionOperator(final Token token) {
    switch (token.getType()) {
    case CriterionParser.IN:
        return CollectionOperator.IN;
    case CriterionParser.NOT_IN:
        return CollectionOperator.NOT_IN;
    default:/* ww  w.  j a v a2 s .  c  om*/
        throw new IllegalArgumentException("Invalid token for collection operator: " + token.getText());
    }
}

From source file:com.github.haixing_hu.criteria.parser.sql.CriterionParsingVisitor.java

License:Apache License

private LogicOperator parseLogicOperator(final Token token) {
    switch (token.getType()) {
    case CriterionParser.AND:
        return LogicOperator.AND;
    case CriterionParser.OR:
        return LogicOperator.OR;
    default:/* ww  w.  jav  a  2 s .  c  o  m*/
        throw new IllegalArgumentException("Invalid token for logic operator: " + token.getText());
    }
}

From source file:com.github.jknack.css.CSSBuilder.java

License:Apache License

private String text(final Token token) {
    return token == null ? null : token.getText();
}

From source file:com.github.jknack.handlebars.internal.TemplateBuilder.java

License:Apache License

@Override
public Template visitBlock(final BlockContext ctx) {
    SexprContext sexpr = ctx.sexpr();/*from   www. jav a  2s . c  o  m*/
    Token nameStart = sexpr.QID().getSymbol();
    String name = nameStart.getText();
    String nameEnd = ctx.nameEnd.getText();
    if (!name.equals(nameEnd)) {
        reportError(null, ctx.nameEnd.getLine(), ctx.nameEnd.getCharPositionInLine(),
                String.format("found: '%s', expected: '%s'", nameEnd, name));
    }

    hasTag(true);
    Block block = new Block(handlebars, name, false, params(sexpr.param()), hash(sexpr.hash()));
    block.filename(source.filename());
    block.position(nameStart.getLine(), nameStart.getCharPositionInLine());
    String startDelim = ctx.start.getText();
    startDelim = startDelim.substring(0, startDelim.length() - 1);
    block.startDelimiter(startDelim);
    block.endDelimiter(ctx.stop.getText());

    Template body = visitBody(ctx.thenBody);
    if (body != null) {
        block.body(body);
    }
    ElseBlockContext elseBlock = ctx.elseBlock();
    if (elseBlock != null) {
        Template unless = visitBody(elseBlock.unlessBody);
        if (unless != null) {
            String inverseLabel = elseBlock.inverseToken.getText();
            if (inverseLabel.startsWith(startDelim)) {
                inverseLabel = inverseLabel.substring(startDelim.length());
            }
            block.inverse(inverseLabel, unless);
        }
    }
    hasTag(true);
    return block;
}

From source file:com.github.jknack.handlebars.internal.TemplateBuilder.java

License:Apache License

@Override
public Object visitEscape(final EscapeContext ctx) {
    Token token = ctx.ESC_VAR().getSymbol();
    String text = token.getText().substring(1);
    line.append(text);/*from w w  w  . j a  v a2 s  . co m*/
    return new Text(text, "\\").filename(source.filename()).position(token.getLine(),
            token.getCharPositionInLine());
}

From source file:com.github.jknack.handlebars.internal.TemplateBuilder.java

License:Apache License

/**
 * Build a new {@link Variable}.//w  w  w  .j  a  v  a  2s  . com
 *
 * @param name The var's name.
 * @param varType The var's type.
 * @param params The var params.
 * @param hash The var hash.
 * @param startDelimiter The current start delimiter.
 * @param endDelimiter The current end delimiter.
 * @return A new {@link Variable}.
 */
private Template newVar(final Token name, final TagType varType, final List<Object> params,
        final Map<String, Object> hash, final String startDelimiter, final String endDelimiter) {
    String varName = name.getText();
    Helper<Object> helper = handlebars.helper(varName);
    if (helper == null && ((params.size() > 0 || hash.size() > 0) || varType == TagType.SUB_EXPRESSION)) {
        Helper<Object> helperMissing = handlebars.helper(HelperRegistry.HELPER_MISSING);
        if (helperMissing == null) {
            reportError(null, name.getLine(), name.getCharPositionInLine(),
                    "could not find helper: '" + varName + "'");
        }
    }
    return new Variable(handlebars, varName, varType, params, hash).startDelimiter(startDelimiter)
            .endDelimiter(endDelimiter).filename(source.filename())
            .position(name.getLine(), name.getCharPositionInLine());
}

From source file:com.github.jknack.handlebars.internal.TemplateBuilder.java

License:Apache License

@Override
public Template visitPartial(final PartialContext ctx) {
    hasTag(true);//from  ww w.  ja va2s .  c  om
    Token pathToken = ctx.PATH().getSymbol();
    String uri = pathToken.getText();
    if (uri.startsWith("[") && uri.endsWith("]")) {
        uri = uri.substring(1, uri.length() - 1);
    }

    if (uri.startsWith("/")) {
        String message = "found: '/', partial shouldn't start with '/'";
        reportError(null, pathToken.getLine(), pathToken.getCharPositionInLine(), message);
    }

    String indent = line.toString();
    if (hasTag()) {
        if (isEmpty(indent) || !isEmpty(indent.trim())) {
            indent = null;
        }
    } else {
        indent = null;
    }

    TerminalNode partialContext = ctx.QID();
    String startDelim = ctx.start.getText();
    Template partial = new Partial(handlebars, uri, partialContext != null ? partialContext.getText() : null)
            .startDelimiter(startDelim.substring(0, startDelim.length() - 1)).endDelimiter(ctx.stop.getText())
            .indent(indent).filename(source.filename())
            .position(pathToken.getLine(), pathToken.getCharPositionInLine());

    return partial;
}

From source file:com.github.jknack.handlebars.internal.TemplateBuilder.java

License:Apache License

@Override
public Template visitSpaces(final SpacesContext ctx) {
    Token space = ctx.SPACE().getSymbol();
    String text = space.getText();
    line.append(text);// www.j ava 2s  .com
    if (space.getChannel() == Token.HIDDEN_CHANNEL) {
        return null;
    }
    return new Text(text).filename(source.filename()).position(ctx.start.getLine(),
            ctx.start.getCharPositionInLine());
}