| 110 | | fprintf(stderr,"[SMOP p6opaque] Unkown method called\n"); |
| | 111 | // as we want to support different captures, we'll start to use a |
| | 112 | // sm0p frame in here, to use the capture as high-level and not as |
| | 113 | // low-level |
| | 114 | ret = SMOP__NATIVE__bool_true; |
| | 115 | SMOP__Object* frame; |
| | 116 | SMOP__Object* continuation = SMOP_DISPATCH(interpreter, SMOP_RI(interpreter), |
| | 117 | SMOP__ID__continuation, interpreter); |
| | 118 | $frame = q:sm0p { |
| | 119 | $capture; |
| | 120 | $identifier; |
| | 121 | $capture.SMOP__ID__invocant(); |
| | 122 | SMOP__SLIME__CurrentFrame.copy(1); |
| | 123 | SMOP__SLIME__CurrentFrame.move_capturize(SMOP__SLIME__Capturize.new(1,(),(),1)); |
| | 124 | SMOP__p6opaque__RI.SMOP__ID__REPR_how(); |
| | 125 | SMOP__SLIME__CurrentFrame.copy(1); |
| | 126 | SMOP__SLIME__CurrentFrame.move_responder(2,2); |
| | 127 | SMOP__SLIME__CurrentFrame.move_capturize(SMOP__SLIME__Capturize.new(2,(6,7,8),(),1)); |
| | 128 | SMOP__NATIVE__bool_true.SMOP__ID__dispatch(); |
| | 129 | $continuation; |
| | 130 | SMOP__SLIME__CurrentFrame.move_capturize(SMOP__SLIME__Capturize.new(1,(2),(),1)); |
| | 131 | $continuation.setr(); |
| | 132 | $interpreter.goto(|$continuation); |
| | 133 | }; |
| | 134 | SMOP_DISPATCH(interpreter, SMOP_RI(interpreter), |
| | 135 | SMOP__ID__goto, |
| | 136 | frame); |
| | 137 | |