forked from jasder/antlr
Fix implementations: TokenStream interface says getText method returns non-null
This commit is contained in:
parent
bd0868c305
commit
950f588ac0
|
@ -30,6 +30,7 @@
|
||||||
package org.antlr.v4.runtime;
|
package org.antlr.v4.runtime;
|
||||||
|
|
||||||
import org.antlr.v4.runtime.misc.Interval;
|
import org.antlr.v4.runtime.misc.Interval;
|
||||||
|
import org.antlr.v4.runtime.misc.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -342,12 +343,15 @@ public class BufferedTokenStream<T extends Token> implements TokenStream {
|
||||||
public String getSourceName() { return tokenSource.getSourceName(); }
|
public String getSourceName() { return tokenSource.getSourceName(); }
|
||||||
|
|
||||||
/** Get the text of all tokens in this buffer. */
|
/** Get the text of all tokens in this buffer. */
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
public String getText() {
|
public String getText() {
|
||||||
if ( p == -1 ) setup();
|
if ( p == -1 ) setup();
|
||||||
fill();
|
fill();
|
||||||
return getText(Interval.of(0,size()-1));
|
return getText(Interval.of(0,size()-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Interval interval) {
|
public String getText(Interval interval) {
|
||||||
int start = interval.a;
|
int start = interval.a;
|
||||||
|
@ -365,15 +369,20 @@ public class BufferedTokenStream<T extends Token> implements TokenStream {
|
||||||
return buf.toString();
|
return buf.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(RuleContext ctx) { return getText(ctx.getSourceInterval()); }
|
public String getText(RuleContext ctx) {
|
||||||
|
return getText(ctx.getSourceInterval());
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Token start, Token stop) {
|
public String getText(Token start, Token stop) {
|
||||||
if ( start!=null && stop!=null ) {
|
if ( start!=null && stop!=null ) {
|
||||||
return getText(Interval.of(start.getTokenIndex(), stop.getTokenIndex()));
|
return getText(Interval.of(start.getTokenIndex(), stop.getTokenIndex()));
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get all tokens from lexer until EOF */
|
/** Get all tokens from lexer until EOF */
|
||||||
|
|
|
@ -138,16 +138,19 @@ public class UnbufferedTokenStream<T extends Token> implements TokenStream {
|
||||||
return tokenSource;
|
return tokenSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText() {
|
public String getText() {
|
||||||
return null;
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(RuleContext ctx) {
|
public String getText(RuleContext ctx) {
|
||||||
return getText(ctx.getSourceInterval());
|
return getText(ctx.getSourceInterval());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Token start, Token stop) {
|
public String getText(Token start, Token stop) {
|
||||||
return getText(Interval.of(start.getTokenIndex(), stop.getTokenIndex()));
|
return getText(Interval.of(start.getTokenIndex(), stop.getTokenIndex()));
|
||||||
|
@ -302,6 +305,7 @@ public class UnbufferedTokenStream<T extends Token> implements TokenStream {
|
||||||
return tokenSource.getSourceName();
|
return tokenSource.getSourceName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Interval interval) {
|
public String getText(Interval interval) {
|
||||||
int bufferStartIndex = getBufferStartIndex();
|
int bufferStartIndex = getBufferStartIndex();
|
||||||
|
|
|
@ -55,6 +55,7 @@ import org.antlr.v4.runtime.atn.LexerATNSimulator;
|
||||||
import org.antlr.v4.runtime.dfa.DFA;
|
import org.antlr.v4.runtime.dfa.DFA;
|
||||||
import org.antlr.v4.runtime.misc.IntegerList;
|
import org.antlr.v4.runtime.misc.IntegerList;
|
||||||
import org.antlr.v4.runtime.misc.Interval;
|
import org.antlr.v4.runtime.misc.Interval;
|
||||||
|
import org.antlr.v4.runtime.misc.NotNull;
|
||||||
import org.antlr.v4.runtime.misc.Nullable;
|
import org.antlr.v4.runtime.misc.Nullable;
|
||||||
import org.antlr.v4.semantics.SemanticPipeline;
|
import org.antlr.v4.semantics.SemanticPipeline;
|
||||||
import org.antlr.v4.tool.ANTLRMessage;
|
import org.antlr.v4.tool.ANTLRMessage;
|
||||||
|
@ -1154,24 +1155,28 @@ public abstract class BaseTest {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText() {
|
public String getText() {
|
||||||
throw new UnsupportedOperationException("can't give strings");
|
throw new UnsupportedOperationException("can't give strings");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Interval interval) {
|
public String getText(Interval interval) {
|
||||||
throw new UnsupportedOperationException("can't give strings");
|
throw new UnsupportedOperationException("can't give strings");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(RuleContext ctx) {
|
public String getText(RuleContext ctx) {
|
||||||
throw new UnsupportedOperationException("can't give strings");
|
throw new UnsupportedOperationException("can't give strings");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getText(Token start, Token stop) {
|
public String getText(Token start, Token stop) {
|
||||||
return null;
|
throw new UnsupportedOperationException("can't give strings");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue