Index: src/regexp.js |
diff --git a/src/regexp.js b/src/regexp.js |
index b724f68183511701da41555a346c436179cf6c01..ace0be1564572e5b48df5ccf287869f7b310dc3d 100644 |
--- a/src/regexp.js |
+++ b/src/regexp.js |
@@ -1,4 +1,4 @@ |
-// Copyright 2006-2009 the V8 project authors. All rights reserved. |
+// Copyright 2012 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: |
@@ -421,18 +421,12 @@ function SetUpRegExp() { |
LAST_INPUT(lastMatchInfo) = ToString(string); |
}; |
- %DefineOrRedefineAccessorProperty($RegExp, 'input', GETTER, RegExpGetInput, |
- DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'input', SETTER, RegExpSetInput, |
- DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$_', GETTER, RegExpGetInput, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$_', SETTER, RegExpSetInput, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$input', GETTER, RegExpGetInput, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$input', SETTER, RegExpSetInput, |
- DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, 'input', RegExpGetInput, |
+ RegExpSetInput, DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, '$_', RegExpGetInput, |
+ RegExpSetInput, DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, '$input', RegExpGetInput, |
+ RegExpSetInput, DONT_ENUM | DONT_DELETE); |
// The properties multiline and $* are aliases for each other. When this |
// value is set in SpiderMonkey, the value it is set to is coerced to a |
@@ -446,13 +440,10 @@ function SetUpRegExp() { |
var RegExpGetMultiline = function() { return multiline; }; |
var RegExpSetMultiline = function(flag) { multiline = flag ? true : false; }; |
- %DefineOrRedefineAccessorProperty($RegExp, 'multiline', GETTER, |
- RegExpGetMultiline, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'multiline', SETTER, |
+ %DefineOrRedefineAccessorProperty($RegExp, 'multiline', RegExpGetMultiline, |
RegExpSetMultiline, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$*', GETTER, RegExpGetMultiline, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$*', SETTER, RegExpSetMultiline, |
+ %DefineOrRedefineAccessorProperty($RegExp, '$*', RegExpGetMultiline, |
+ RegExpSetMultiline, |
DONT_ENUM | DONT_DELETE); |
@@ -460,44 +451,28 @@ function SetUpRegExp() { |
// Static properties set by a successful match. |
- %DefineOrRedefineAccessorProperty($RegExp, 'lastMatch', GETTER, |
- RegExpGetLastMatch, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'lastMatch', SETTER, NoOpSetter, |
+ %DefineOrRedefineAccessorProperty($RegExp, 'lastMatch', RegExpGetLastMatch, |
+ NoOpSetter, DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, '$&', RegExpGetLastMatch, |
+ NoOpSetter, DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, 'lastParen', RegExpGetLastParen, |
+ NoOpSetter, DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, '$+', RegExpGetLastParen, |
+ NoOpSetter, DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, 'leftContext', |
+ RegExpGetLeftContext, NoOpSetter, |
DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$&', GETTER, RegExpGetLastMatch, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$&', SETTER, NoOpSetter, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'lastParen', GETTER, |
- RegExpGetLastParen, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'lastParen', SETTER, NoOpSetter, |
+ %DefineOrRedefineAccessorProperty($RegExp, '$`', RegExpGetLeftContext, |
+ NoOpSetter, DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, 'rightContext', |
+ RegExpGetRightContext, NoOpSetter, |
DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$+', GETTER, RegExpGetLastParen, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$+', SETTER, NoOpSetter, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'leftContext', GETTER, |
- RegExpGetLeftContext, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'leftContext', SETTER, NoOpSetter, |
- DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$`', GETTER, RegExpGetLeftContext, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$`', SETTER, NoOpSetter, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'rightContext', GETTER, |
- RegExpGetRightContext, DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, 'rightContext', SETTER, NoOpSetter, |
- DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, "$'", GETTER, |
- RegExpGetRightContext, |
- DONT_ENUM | DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, "$'", SETTER, NoOpSetter, |
- DONT_ENUM | DONT_DELETE); |
+ %DefineOrRedefineAccessorProperty($RegExp, "$'", RegExpGetRightContext, |
+ NoOpSetter, DONT_ENUM | DONT_DELETE); |
for (var i = 1; i < 10; ++i) { |
- %DefineOrRedefineAccessorProperty($RegExp, '$' + i, GETTER, |
- RegExpMakeCaptureGetter(i), DONT_DELETE); |
- %DefineOrRedefineAccessorProperty($RegExp, '$' + i, SETTER, NoOpSetter, |
+ %DefineOrRedefineAccessorProperty($RegExp, '$' + i, |
+ RegExpMakeCaptureGetter(i), NoOpSetter, |
DONT_DELETE); |
} |
} |