/**
* <copyright>
* </copyright>
*
*
*/
package org.reuseware.air.language.abstractsyntax.resource.as.mopp;
public class AsTextToken implements org.reuseware.air.language.abstractsyntax.resource.as.IAsTextToken {
private final org.reuseware.air.language.abstractsyntax.resource.as.IAsMetaInformation metaInformation = new org.reuseware.air.language.abstractsyntax.resource.as.mopp.AsMetaInformation();
private final org.antlr.runtime3_2_0.Token antlrToken;
public AsTextToken(org.antlr.runtime3_2_0.Token antlrToken) {
super();
this.antlrToken = antlrToken;
}
public java.lang.String getName() {
return getTokenName(metaInformation.getTokenNames(), antlrToken.getType());
}
public int getOffset() {
return ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStartIndex();
}
public int getLength() {
return ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStopIndex() - ((org.antlr.runtime3_2_0.CommonToken) antlrToken).getStartIndex() + 1;
}
public boolean canBeUsedForSyntaxHighlighting() {
int tokenType = antlrToken.getType();
if (tokenType == org.antlr.runtime3_2_0.Token.EOF) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.UP) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.DOWN) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.EOR_TOKEN_TYPE) {
return false;
}
if (tokenType == org.antlr.runtime3_2_0.Token.INVALID_TOKEN_TYPE) {
return false;
}
return true;
}
public java.lang.String getText() {
return antlrToken.getText();
}
public java.lang.String getTokenName(java.lang.String[] tokenNames, int index) {
if (tokenNames == null) {
return null;
}
java.lang.String tokenName = tokenNames[index];
if (tokenName != null && tokenName.startsWith("'")) {
tokenName = tokenName.substring(1, tokenName.length() - 1).trim();
}
return tokenName;
}
}