Example usage for org.antlr.v4.runtime CommonToken CommonToken

List of usage examples for org.antlr.v4.runtime CommonToken CommonToken

Introduction

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

Prototype

public CommonToken(Token oldToken) 

Source Link

Document

Constructs a new CommonToken as a copy of another Token .

Usage

From source file:PhpBaseLexer.java

License:Open Source License

@Override
public Token nextToken() {
    CommonToken token = (CommonToken) super.nextToken();

    if (token.getType() == PhpLexer.PHPEnd || token.getType() == PhpLexer.PHPEndSingleLineComment) {
        if (_mode == PhpLexer.SingleLineCommentMode) {
            // SingleLineCommentMode for such allowed syntax:
            // <?php echo "Hello world"; // comment ?>
            popMode(); // exit from SingleLineComment mode.
        }//  www .  j av a  2  s. c  om
        popMode(); // exit from PHP mode.

        if (token.getText().equals("</script>")) {
            _phpScript = false;
            token.setType(PhpLexer.ScriptClose);
        } else {
            // Add semicolon to the end of statement if it is absente.
            // For example: <?php echo "Hello world" ?>
            if (_prevTokenType == PhpLexer.SemiColon || _prevTokenType == PhpLexer.Colon
                    || _prevTokenType == PhpLexer.OpenCurlyBracket
                    || _prevTokenType == PhpLexer.CloseCurlyBracket) {
                token.setChannel(PhpLexer.SkipChannel);
            } else {
                token = new CommonToken(PhpLexer.SemiColon);
            }
        }
    } else if (token.getType() == PhpLexer.HtmlName) {
        _htmlNameText = token.getText();
    } else if (token.getType() == PhpLexer.HtmlDoubleQuoteString) {
        if (token.getText().equals("php") && _htmlNameText.equals("language")) {
            _phpScript = true;
        }
    } else if (_mode == PhpLexer.HereDoc) {
        // Heredoc and Nowdoc syntax support: http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
        switch (token.getType()) {
        case PhpLexer.StartHereDoc:
        case PhpLexer.StartNowDoc:
            _heredocIdentifier = token.getText().substring(3).trim().replace("\'", "");
            break;

        case PhpLexer.HereDocText:
            if (CheckHeredocEnd(token.getText())) {
                popMode();

                String heredocIdentifier = GetHeredocIdentifier(token.getText());
                if (token.getText().trim().endsWith(";")) {
                    token = new CommonToken(PhpLexer.SemiColon, heredocIdentifier + ";\n");
                } else {
                    token = (CommonToken) super.nextToken();
                    token.setText(heredocIdentifier + "\n;");
                }
            }
            break;
        }
    } else if (_mode == PhpLexer.PHP) {
        if (_channel != PhpLexer.HIDDEN) {
            _prevTokenType = token.getType();
        }
    }

    return token;
}

From source file:edu.clemson.resolve.misc.Utils.java

License:BSD License

/**
 * Returns a new {@link CommonToken} from some arbtrary existing {@code Token}. This is useful for when you want
 * create a {@code Token} consisting of {@code desiredText}, but using existing location information from {@code t}.
 * <p>/*ww w . j a  va  2s  .  c  o m*/
 * <strong>NOTE:</strong> if {@code desiredText} is {@code null}, then the text for the resulting {@code Token}
 * will contain whatever text was already in {@code t} starting out.</p>
 *
 * @param t           an existing token (preferably near where {@code desiredText} should appear)
 * @param desiredText the text we want the resulting token to hold
 *
 * @return a new token
 */
@NotNull
public static CommonToken createTokenFrom(@NotNull Token t, @Nullable String desiredText) {
    CommonToken result = new CommonToken(t);
    if (desiredText != null) {
        result.setText(desiredText);
    }
    return result;
}

From source file:info.fulloo.trygve.semantic_analysis.StaticScope.java

License:Open Source License

private static void reinitializeObject(final Type objectType, final StaticScope objectsScope) {
    final CommonToken objectToken = new CommonToken(0);
    objectToken.setLine(157239);// w  w w .  j a  v  a2  s .c  om
    final ClassDeclaration objectClass = new ClassDeclaration("Object", objectsScope, null, objectToken);
    globalScope_.declareClass(objectClass);
    objectClass.setType(objectType);
    objectsScope.setDeclaration(objectClass);

    typeDeclarationList_.add(objectClass);
}

From source file:org.ballerinalang.langserver.sourceprune.AbstractTokenTraverser.java

License:Open Source License

void alterTokenText(Token token) {
    this.removedTokens.add(new CommonToken(token));
    if (token.getType() == BallerinaParser.NEW_LINE || token.getChannel() != Token.DEFAULT_CHANNEL) {
        return;//ww  w .  j a  v  a 2s .  com
    }
    ((CommonToken) token).setText(getNCharLengthEmptyLine(token.getText().length()));
    this.lastAlteredToken = token.getType();
}

From source file:org.eclipse.titan.designer.parsers.ttcn3parser.PPDirectiveTokenFactory.java

License:Open Source License

public PPDirectiveTokenFactory() {
    this.copyText = false;
    this.token = new CommonToken(Token.EOF);
}

From source file:org.graylog.plugins.pipelineprocessor.ast.Rule.java

License:Open Source License

public static Rule alwaysFalse(String name) {
    return builder().name(name).when(new BooleanExpression(new CommonToken(-1), false))
            .then(Collections.emptyList()).build();
}

From source file:shadow.typecheck.TypeUpdater.java

License:Apache License

private static Token makeDummyToken(Context node) {
    CommonToken token;//from   w  w w  .  j  a  v a2 s .  c o m

    if (node instanceof ShadowParser.ClassOrInterfaceDeclarationContext)
        token = new CommonToken(
                ((ShadowParser.ClassOrInterfaceDeclarationContext) node).Identifier().getSymbol());
    else if (node instanceof ShadowParser.EnumDeclarationContext)
        token = new CommonToken(((ShadowParser.EnumDeclarationContext) node).Identifier().getSymbol());
    else {
        token = new CommonToken(node.getStart());
        //since the token is for a made-up create or property, it has no location in the file
        token.setLine(-1);
        token.setCharPositionInLine(-1);
        token.setStartIndex(0);
        token.setStopIndex(0);
    }

    return token;
}