@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { lexer.getCmdArgumentState().reset(((Long)yyVals[-1+yyTop]).longValue()); yyVal = ((Node)yyVals[0+yyTop]); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.getCmdArgumentState().reset(((Long)yyVals[-2+yyTop]).longValue()); yyVal = p.dispatch("on_begin", ((IRubyObject)yyVals[-1+yyTop])); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { yyVal = Long.valueOf(lexer.getCmdArgumentState().getStack()); lexer.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { yyVal = Long.valueOf(p.getCmdArgumentState().getStack()); p.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.getCmdArgumentState().reset(((Long)yyVals[-3+yyTop]).longValue()); p.warning("(...) interpreted as grouped expression"); yyVal = p.dispatch("on_paren", ((IRubyObject)yyVals[-2+yyTop])); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { yyVal = p.dispatch("on_brace_block", ((IRubyObject)yyVals[-1+yyTop]), ((IRubyObject)yyVals[0+yyTop])); p.getCmdArgumentState().reset(((Long)yyVals[-2+yyTop]).longValue()); p.popCurrentScope(); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { lexer.getCmdArgumentState().reset(((Long)yyVals[-2+yyTop]).longValue()); yyVal = new BeginNode(((ISourcePosition)yyVals[-3+yyTop]), support.makeNullNil(((Node)yyVals[-1+yyTop]))); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { yyVal = p.dispatch("on_do_block", ((IRubyObject)yyVals[-2+yyTop]), ((IRubyObject)yyVals[-1+yyTop])); p.getCmdArgumentState().reset(((Long)yyVals[-3+yyTop]).longValue()); p.popCurrentScope(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.pushBlockScope(); yyVal = Long.valueOf(p.getCmdArgumentState().getStack()); p.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { yyVal = lexer.getCmdArgumentState().getStack(); lexer.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { yyVal = p.getCmdArgumentState().getStack(); p.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { support.pushBlockScope(); yyVal = Long.valueOf(lexer.getCmdArgumentState().getStack()) >> 1; lexer.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { yyVal = new IterNode(((ISourcePosition)yyVals[-3+yyTop]), ((ArgsNode)yyVals[-1+yyTop]), ((Node)yyVals[0+yyTop]), support.getCurrentScope()); support.popCurrentScope(); lexer.getCmdArgumentState().reset(((Long)yyVals[-2+yyTop]).longValue()); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { yyVal = new IterNode(((ISourcePosition)yyVals[-3+yyTop]), ((ArgsNode)yyVals[-1+yyTop]), ((Node)yyVals[0+yyTop]), support.getCurrentScope()); support.popCurrentScope(); lexer.getCmdArgumentState().reset(((Long)yyVals[-2+yyTop]).longValue()); return yyVal; } };
@Override public Object execute(ParserSupport support, RubyLexer lexer, Object yyVal, Object[] yyVals, int yyTop) { support.pushBlockScope(); yyVal = Long.valueOf(lexer.getCmdArgumentState().getStack()); lexer.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { yyVal = p.getCmdArgumentState().getStack(); p.getCmdArgumentState().reset(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.getCmdArgumentState().reset(((Long)yyVals[-1+yyTop]).longValue()); p.getCmdArgumentState().restart(); yyVal = p.dispatch("on_lambda", ((IRubyObject)yyVals[-2+yyTop]), ((IRubyObject)yyVals[0+yyTop])); p.setLeftParenBegin(((Integer)yyVals[-3+yyTop])); p.popCurrentScope(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.getCmdArgumentState().reset(((Long)yyVals[-1+yyTop]).longValue()); p.getCmdArgumentState().restart(); yyVal = p.dispatch("on_lambda", ((IRubyObject)yyVals[-2+yyTop]), ((IRubyObject)yyVals[0+yyTop])); p.setLeftParenBegin(((Integer)yyVals[-3+yyTop])); p.popCurrentScope(); return yyVal; } };
@Override public Object execute(RipperParser p, Object yyVal, Object[] yyVals, int yyTop) { p.getConditionState().restart(); p.setStrTerm(((StrTerm)yyVals[-6+yyTop])); p.getCmdArgumentState().reset(((Long)yyVals[-5+yyTop]).longValue()); p.setState(((Integer)yyVals[-4+yyTop])); p.setBraceNest(((Integer)yyVals[-3+yyTop])); p.setHeredocIndent(((Integer)yyVals[-2+yyTop])); yyVal = p.dispatch("on_string_embexpr", ((IRubyObject)yyVals[-1+yyTop])); return yyVal; } };
public void pushLocalScope() { currentScope = configuration.getRuntime().getStaticScopeFactory().newLocalScope(currentScope, lexer.getFile()); currentScope.setCommandArgumentStack(lexer.getCmdArgumentState().getStack()); lexer.getCmdArgumentState().reset(0); }