(Result result)
| 198 | } |
| 199 | |
| 200 | public void setResult(Result result) { |
| 201 | // copy offsets |
| 202 | int[] offsets = this.offsets[program.length]; |
| 203 | int[] groupStart = new int[groupCount + 1]; |
| 204 | int[] groupEnd = new int[groupCount + 1]; |
| 205 | for (int j = 0; j <= groupCount; ++j) { |
| 206 | groupStart[j] = offsets[2 * j] - 1; |
| 207 | groupEnd[j] = offsets[2 * j + 1] - 1; |
| 208 | } |
| 209 | result.set(groupStart, groupEnd); |
| 210 | } |
| 211 | |
| 212 | private void mustStartMatchAt(int start) { |
| 213 | int previous = -1; |