| Index: src/macros.py
|
| ===================================================================
|
| --- src/macros.py (revision 1489)
|
| +++ 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,22 @@
|
| # 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. Beware - these evaluate their
|
| +# arguments twice.
|
| +macro LAST_SUBJECT(array) = ((array)[(array)[0] + 1]);
|
| +macro LAST_INPUT(array) = ((array)[(array)[0] + 2]);
|
| +
|
| +# REGEXP_FIRST_CAPTURE
|
| +macro CAPTURE(index) = (1 + (index));
|
| +const CAPTURE0 = 1;
|
| +const CAPTURE1 = 2;
|
|
|