| 2069 | } |
| 2070 | |
| 2071 | void fxCaptureCode(txPatternParser* parser, void* it, txInteger direction, txInteger sequel) |
| 2072 | { |
| 2073 | txCapture* self = it; |
| 2074 | txInteger* buffer = (txInteger*)(((txByte*)*(parser->code)) + self->step); |
| 2075 | if (direction == 1) |
| 2076 | *buffer++ = cxCaptureForwardStep; |
| 2077 | else |
| 2078 | *buffer++ = cxCaptureBackwardStep; |
| 2079 | *buffer++ = self->term->step; |
| 2080 | *buffer++ = self->captureIndex; |
| 2081 | fxPatternParserCheckStack(parser); |
| 2082 | (*self->term->dispatch.code)(parser, self->term, direction, self->completion); |
| 2083 | buffer = (txInteger*)(((txByte*)*(parser->code)) + self->completion); |
| 2084 | if (direction == 1) |
| 2085 | *buffer++ = cxCaptureForwardCompletion; |
| 2086 | else |
| 2087 | *buffer++ = cxCaptureBackwardCompletion; |
| 2088 | *buffer++ = sequel; |
| 2089 | *buffer++ = self->captureIndex; |
| 2090 | if (self->name) { |
| 2091 | *buffer++ = self->name->index; |
| 2092 | #ifndef mxCompile |
| 2093 | if (parser->the) |
| 2094 | (*parser->code)[5 + self->name->index] = fxNewNameC(parser->the, self->name->string); |
| 2095 | else |
| 2096 | #endif |
| 2097 | (*parser->code)[5 + self->name->index] = XS_NO_ID; |
| 2098 | } |
| 2099 | else |
| 2100 | *buffer++ = -1; |
| 2101 | } |
| 2102 | |
| 2103 | void fxCaptureReferenceCode(txPatternParser* parser, void* it, txInteger direction, txInteger sequel) |
| 2104 | { |
nothing calls this directly
no test coverage detected