Chromium Code Reviews| Index: src/macros.py |
| =================================================================== |
| --- src/macros.py (revision 1374) |
| +++ src/macros.py (working copy) |
| @@ -1,4 +1,4 @@ |
| -# Copyright 2006-2008 the V8 project authors. All rights reserved. |
| +# Copyright 2006-2009 the V8 project authors. All rights reserved. |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are |
| # met: |
| @@ -99,3 +99,21 @@ |
| # Accessors for original global properties that ensure they have been loaded. |
| const ORIGINAL_REGEXP = (global.RegExp, $RegExp); |
| const ORIGINAL_DATE = (global.Date, $Date); |
| + |
| +# Constants used on an array to implement the properties of the RegExp object. |
| +const REGEXP_NUMBER_OF_CAPTURES = 0; |
| +const REGEXP_FIRST_CAPTURE = 1; |
| + |
| +# We can't put macros in macros so we use constants here. |
| +# REGEXP_NUMBER_OF_CAPTURES |
| +macro NUMBER_OF_CAPTURES(array) = ((array)[0]); |
| + |
| +# Last input and last subject are after the captures so we can omit them on |
| +# results returned from global searches. |
| +macro LAST_SUBJECT(array) = ((array)[(array)[0] + 1]); |
|
Christian Plesner Hansen
2009/02/26 15:18:53
Beware: this evaluates its argument twice.
|
| +macro LAST_INPUT(array) = ((array)[(array)[0] + 2]); |
| + |
| +# REGEXP_FIRST_CAPTURE |
| +macro CAPTURE(index) = (1 + (index)); |
| +const CAPTURE0 = 1; |
| +const CAPTURE1 = 2; |