Changeset 252836 in webkit for trunk/Source/JavaScriptCore/builtins
- Timestamp:
- Nov 23, 2019, 3:23:31 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/builtins/RegExpPrototype.js
r246692 r252836 223 223 let chCode = ch.charCodeAt(0); 224 224 if (chCode >= 0x30 && chCode <= 0x39) { 225 let originalStart = start - 1; 225 226 start++; 227 226 228 let n = chCode - 0x30; 227 if (n > m) 229 if (n > m) { 230 result = result + replacement.substring(originalStart, start); 228 231 break; 232 } 233 229 234 if (start < replacementLength) { 230 235 let nextChCode = replacement.charCodeAt(start); … … 238 243 } 239 244 240 if (n == 0) 245 if (n == 0) { 246 result = result + replacement.substring(originalStart, start); 241 247 break; 242 243 if (captures[n] != @undefined) 244 result = result + captures[n]; 248 } 249 250 let capture = captures[n - 1]; 251 if (capture !== @undefined) 252 result = result + capture; 245 253 } else 246 254 result = result + "$"; … … 314 322 if (capN !== @undefined) 315 323 capN = @toString(capN); 316 captures [n] = capN;324 captures.@push(capN); 317 325 } 318 326 … … 320 328 321 329 if (functionalReplace) { 322 let replacerArgs = [ matched ].concat(captures .slice(1));330 let replacerArgs = [ matched ].concat(captures); 323 331 replacerArgs.@push(position); 324 332 replacerArgs.@push(str);
Note:
See TracChangeset
for help on using the changeset viewer.