OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var $delete; | 5 var $delete; |
6 var $functionSourceString; | 6 var $functionSourceString; |
7 var $getIterator; | 7 var $getIterator; |
8 var $getMethod; | 8 var $getMethod; |
9 var $globalEval; | 9 var $globalEval; |
10 var $installConstants; | 10 var $installConstants; |
11 var $installFunctions; | 11 var $installFunctions; |
12 var $installGetter; | 12 var $installGetter; |
13 var $isFinite; | 13 var $isFinite; |
14 var $isNaN; | 14 var $isNaN; |
15 var $newFunctionString; | 15 var $newFunctionString; |
16 var $numberIsNaN; | 16 var $numberIsNaN; |
17 var $objectDefineProperties; | 17 var $objectDefineProperties; |
18 var $objectDefineProperty; | 18 var $objectDefineProperty; |
19 var $objectFreeze; | 19 var $objectFreeze; |
20 var $objectGetOwnPropertyDescriptor; | 20 var $objectGetOwnPropertyDescriptor; |
21 var $objectGetOwnPropertyKeys; | 21 var $objectGetOwnPropertyKeys; |
22 var $objectHasOwnProperty; | 22 var $objectHasOwnProperty; |
23 var $objectIsFrozen; | 23 var $objectIsFrozen; |
24 var $objectIsSealed; | 24 var $objectIsSealed; |
25 var $objectLookupGetter; | 25 var $objectLookupGetter; |
26 var $objectLookupSetter; | 26 var $objectLookupSetter; |
27 var $objectToString; | 27 var $objectToString; |
28 var $overrideFunction; | 28 var $overrideFunction; |
29 var $ownPropertyKeys; | |
arv (Not doing code reviews)
2015/05/06 15:35:48
$ownPropertyKeys does not need to be exported
| |
30 var $propertyIsEnumerable; | |
29 var $setFunctionName; | 31 var $setFunctionName; |
30 var $setUpLockedPrototype; | 32 var $setUpLockedPrototype; |
31 var $toCompletePropertyDescriptor; | 33 var $toCompletePropertyDescriptor; |
32 var $toNameArray; | 34 var $toNameArray; |
33 | 35 |
34 (function() { | 36 (function() { |
35 | 37 |
36 %CheckIsBootstrapping(); | 38 %CheckIsBootstrapping(); |
37 | 39 |
38 var GlobalArray = global.Array; | 40 var GlobalArray = global.Array; |
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1134 seenKeys[name] = true; | 1136 seenKeys[name] = true; |
1135 propertyNames[j++] = name; | 1137 propertyNames[j++] = name; |
1136 } | 1138 } |
1137 propertyNames.length = j; | 1139 propertyNames.length = j; |
1138 } | 1140 } |
1139 | 1141 |
1140 return propertyNames; | 1142 return propertyNames; |
1141 } | 1143 } |
1142 | 1144 |
1143 | 1145 |
1146 // ES6 section 9.1.12 / 9.5.12 | |
1147 function OwnPropertyKeys(obj) { | |
1148 if (%_IsJSProxy(obj)) { | |
1149 var handler = %GetHandler(obj); | |
1150 // TODO(caitp): Proxy.[[OwnPropertyKeys]] can not be implemented to spec | |
1151 // without an implementation of Direct Proxies. | |
1152 var names = CallTrap0(handler, "ownKeys", UNDEFINED); | |
1153 return ToNameArray(names, "getOwnPropertyNames", false); | |
1154 } | |
1155 return ObjectGetOwnPropertyKeys(obj, PROPERTY_ATTRIBUTES_PRIVATE_SYMBOL); | |
1156 } | |
1157 | |
1158 | |
1144 // ES5 section 15.2.3.4. | 1159 // ES5 section 15.2.3.4. |
1145 function ObjectGetOwnPropertyNames(obj) { | 1160 function ObjectGetOwnPropertyNames(obj) { |
1146 obj = TO_OBJECT_INLINE(obj); | 1161 obj = TO_OBJECT_INLINE(obj); |
1147 // Special handling for proxies. | 1162 // Special handling for proxies. |
1148 if (%_IsJSProxy(obj)) { | 1163 if (%_IsJSProxy(obj)) { |
1149 var handler = %GetHandler(obj); | 1164 var handler = %GetHandler(obj); |
1150 var names = CallTrap0(handler, "getOwnPropertyNames", UNDEFINED); | 1165 var names = CallTrap0(handler, "getOwnPropertyNames", UNDEFINED); |
1151 return ToNameArray(names, "getOwnPropertyNames", false); | 1166 return ToNameArray(names, "getOwnPropertyNames", false); |
1152 } | 1167 } |
1153 | 1168 |
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1936 $objectFreeze = ObjectFreezeJS; | 1951 $objectFreeze = ObjectFreezeJS; |
1937 $objectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor; | 1952 $objectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor; |
1938 $objectGetOwnPropertyKeys = ObjectGetOwnPropertyKeys; | 1953 $objectGetOwnPropertyKeys = ObjectGetOwnPropertyKeys; |
1939 $objectHasOwnProperty = ObjectHasOwnProperty; | 1954 $objectHasOwnProperty = ObjectHasOwnProperty; |
1940 $objectIsFrozen = ObjectIsFrozen; | 1955 $objectIsFrozen = ObjectIsFrozen; |
1941 $objectIsSealed = ObjectIsSealed; | 1956 $objectIsSealed = ObjectIsSealed; |
1942 $objectLookupGetter = ObjectLookupGetter; | 1957 $objectLookupGetter = ObjectLookupGetter; |
1943 $objectLookupSetter = ObjectLookupSetter; | 1958 $objectLookupSetter = ObjectLookupSetter; |
1944 $objectToString = ObjectToString; | 1959 $objectToString = ObjectToString; |
1945 $overrideFunction = OverrideFunction; | 1960 $overrideFunction = OverrideFunction; |
1961 $ownPropertyKeys = OwnPropertyKeys; | |
1962 $propertyIsEnumerable = ObjectPropertyIsEnumerable; | |
1946 $setFunctionName = SetFunctionName; | 1963 $setFunctionName = SetFunctionName; |
1947 $setUpLockedPrototype = SetUpLockedPrototype; | 1964 $setUpLockedPrototype = SetUpLockedPrototype; |
1948 $toCompletePropertyDescriptor = ToCompletePropertyDescriptor; | 1965 $toCompletePropertyDescriptor = ToCompletePropertyDescriptor; |
1949 $toNameArray = ToNameArray; | 1966 $toNameArray = ToNameArray; |
1950 | 1967 |
1951 })(); | 1968 })(); |
OLD | NEW |