@Override public GrammarAST create(int tokenType, Token fromToken, String text) { return (GrammarAST)super.create(tokenType, fromToken, text); }
@Override public GrammarAST create(int tokenType, Token fromToken) { return (GrammarAST)super.create(tokenType, fromToken); }
/** * Create a DroolsTree and keeps the char offset info. */ public Object create( int tokenType, Token fromToken, String text ) { if ( fromToken instanceof DroolsToken ) { DroolsTree result = (DroolsTree) super.create( tokenType, fromToken, text ); result .setStartCharOffset( ((DroolsToken) fromToken) .getStartIndex() ); if ( text == null ) { result.setEndCharOffset( ((DroolsToken) fromToken) .getStopIndex() ); } else { result.setEndCharOffset( result.getStartCharOffset() + text.length() ); } return result; } return super.create( tokenType, fromToken, text ); }
@Override /** Make sure even imaginary nodes know the input stream */ public Object create(int tokenType, String text) { GrammarAST t; if ( tokenType==ANTLRParser.RULE ) { // needed by TreeWizard to make RULE tree t = new RuleAST(new CommonToken(tokenType, text)); } else if ( tokenType==ANTLRParser.STRING_LITERAL ) { // implicit lexer construction done with wizard; needs this node type // whereas grammar ANTLRParser.g can use token option to spec node type t = new TerminalAST(new CommonToken(tokenType, text)); } else { t = (GrammarAST)super.create(tokenType, text); } t.token.setInputStream(input); return t; }
@Override /** Make sure even imaginary nodes know the input stream */ public Object create(int tokenType, String text) { GrammarAST t; if ( tokenType==ANTLRParser.RULE ) { // needed by TreeWizard to make RULE tree t = new RuleAST(new CommonToken(tokenType, text)); } else if ( tokenType==ANTLRParser.STRING_LITERAL ) { // implicit lexer construction done with wizard; needs this node type // whereas grammar ANTLRParser.g can use token option to spec node type t = new TerminalAST(new CommonToken(tokenType, text)); } else { t = (GrammarAST)super.create(tokenType, text); } t.token.setInputStream(input); return t; }
@Override /** Make sure even imaginary nodes know the input stream */ public Object create(int tokenType, String text) { GrammarAST t; if ( tokenType==ANTLRParser.RULE ) { // needed by TreeWizard to make RULE tree t = new RuleAST(new CommonToken(tokenType, text)); } else if ( tokenType==ANTLRParser.STRING_LITERAL ) { // implicit lexer construction done with wizard; needs this node type // whereas grammar ANTLRParser.g can use token option to spec node type t = new TerminalAST(new CommonToken(tokenType, text)); } else { t = (GrammarAST)super.create(tokenType, text); } t.token.setInputStream(input); return t; }
@Override /** Make sure even imaginary nodes know the input stream */ public Object create(int tokenType, String text) { GrammarAST t; if ( tokenType==ANTLRParser.RULE ) { // needed by TreeWizard to make RULE tree t = new RuleAST(new CommonToken(tokenType, text)); } else if ( tokenType==ANTLRParser.STRING_LITERAL ) { // implicit lexer construction done with wizard; needs this node type // whereas grammar ANTLRParser.g can use token option to spec node type t = new TerminalAST(new CommonToken(tokenType, text)); } else { t = (GrammarAST)super.create(tokenType, text); } t.token.setInputStream(input); return t; }
@Override /** Make sure even imaginary nodes know the input stream */ public GrammarAST create(int tokenType, String text) { GrammarAST t; if ( tokenType==ANTLRParser.RULE ) { // needed by TreeWizard to make RULE tree t = new RuleAST(new CommonToken(tokenType, text)); } else if ( tokenType==ANTLRParser.STRING_LITERAL ) { // implicit lexer construction done with wizard; needs this node type // whereas grammar ANTLRParser.g can use token option to spec node type t = new TerminalAST(new CommonToken(tokenType, text)); } else { t = (GrammarAST)super.create(tokenType, text); } t.token.setInputStream(input); return t; }