/** * Append the text preserving the formatting (space symbols) between tokens */ void append(StringBuilder str, String appendStr, Token start, Token stop) { String spaces = start.getInputStream().getText(new org.antlr.v4.runtime.misc.Interval(start.getStartIndex(), stop.getStopIndex())); spaces = spaces.substring(start.getText().length(), spaces.length() - stop.getText().length()); str.append(spaces); str.append(appendStr); }
/** * Get formatted text between 2 tokens */ public String getFormattedText(ParserRuleContext ctx) { return ctx.start.getInputStream().getText( new org.antlr.v4.runtime.misc.Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex())); }
/** * Get node text including spaces */ String getText(ParserRuleContext ctx) { return ctx.start.getInputStream().getText(new Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex())); }
/** * Get node text including spaces */ String getText(ParserRuleContext ctx) { return ctx.start.getInputStream().getText(new org.antlr.v4.runtime.misc.Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex())); }
String getText(ParserRuleContext ctx, Token start, Token stop) { return ctx.start.getInputStream().getText(new org.antlr.v4.runtime.misc.Interval(start.getStartIndex(), stop.getStopIndex())); }
/** * Returns matched part of the getText for the context. * * @param ctx the parser rule context; may not be null * @return matched part of the getText */ public static String getText(ParserRuleContext ctx) { Interval interval = new Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()); return ctx.start.getInputStream().getText(interval); }
void append(StringBuilder str, TerminalNode start, TerminalNode stop) { String text = start.getSymbol().getInputStream().getText(new org.antlr.v4.runtime.misc.Interval(start.getSymbol().getStartIndex(), stop.getSymbol().getStopIndex())); str.append(text); }
/** * Executing OS command */ @Override public Integer visitHost_cmd(HplsqlParser.Host_cmdContext ctx) { trace(ctx, "HOST"); execHost(ctx, ctx.start.getInputStream().getText( new org.antlr.v4.runtime.misc.Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()))); return 0; }
@Override public void enterDropTable(MySqlParser.DropTableContext ctx) { Interval interval = new Interval(ctx.start.getStartIndex(), ctx.tables().start.getStartIndex() - 1); String prefix = ctx.start.getInputStream().getText(interval); ctx.tables().tableName().forEach(tableNameContext -> { TableId tableId = parser.parseQualifiedTableId(tableNameContext.fullId()); parser.databaseTables().removeTable(tableId); parser.signalDropTable(tableId, prefix + tableId.table() + (ctx.dropType != null ? " " + ctx.dropType.getText() : "")); }); super.enterDropTable(ctx); } }
/** Interval objects are used readonly so share all with the * same single value a==b up to some max size. Use an array as a perfect hash. * Return shared object for 0..INTERVAL_POOL_MAX_VALUE or a new * Interval object with a..a in it. On Java.g4, 218623 IntervalSets * have a..a (set with 1 element). */ public static Interval of(int a, int b) { // cache just a..a if ( a!=b || a<0 || a>INTERVAL_POOL_MAX_VALUE ) { return new Interval(a,b); } if ( cache[a]==null ) { cache[a] = new Interval(a,a); } return cache[a]; }
@Override public Interval getSourceInterval() { if ( symbol ==null ) return Interval.INVALID; int tokenIndex = symbol.getTokenIndex(); return new Interval(tokenIndex, tokenIndex); }
@Override public Interval getSourceInterval() { if ( symbol ==null ) return Interval.INVALID; int tokenIndex = symbol.getTokenIndex(); return new Interval(tokenIndex, tokenIndex); }
@Override public Interval getSourceInterval() { if ( symbol ==null ) return Interval.INVALID; int tokenIndex = symbol.getTokenIndex(); return new Interval(tokenIndex, tokenIndex); }
@Override public Interval getSourceInterval() { if ( symbol ==null ) return Interval.INVALID; int tokenIndex = symbol.getTokenIndex(); return new Interval(tokenIndex, tokenIndex); }
@Override public Constant visitConstant(ConstantContext ctx) { // We need to jump through these hoops to preserve whitespace. int contextStart = ctx.start.getStartIndex(); int contextEnd = ctx.stop.getStopIndex(); Interval interval = new Interval(contextStart, contextEnd); String text = ctx.start.getInputStream().getText(interval); // Strip the quotes (first and last characters). text = text.substring(1, text.length() - 1); text = replaceLiterals(text); return new StringAttribute(text); }
/** * Returns matched part of the getText for the context. * * @param ctx the parser rule context; may not be null * @return matched part of the getText */ public static String getText(ParserRuleContext ctx) { Interval interval = new Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()); return ctx.start.getInputStream().getText(interval); }
public static String getSourceText(ParserRuleContext ctx){ if (ctx.start == null || ctx.stop == null) { return ctx.getText(); } int startIndex = ctx.start.getStartIndex(); int stopIndex = ctx.stop.getStopIndex(); if (stopIndex < startIndex) { return ""; // Just return the empty string. } CharStream inputStream = ctx.start.getInputStream(); return inputStream.getText(new Interval(startIndex, stopIndex)); }
private String getText(ParserRuleContext ctx) { int start = ctx.start.getStartIndex(); int stop = (ctx.stop == null) ? start : ctx.stop.getStopIndex(); return ctx.getStart().getInputStream().getText(new Interval(start, stop)); } }
private String getOriginalText( ParserRuleContext ctx ) { int a = ctx.start.getStartIndex(); int b = ctx.stop.getStopIndex(); Interval interval = new Interval(a,b); return ctx.getStart().getInputStream().getText(interval); }