Diff
Modified: trunk/Source/_javascript_Core/API/JSObjectRef.h (236519 => 236520)
--- trunk/Source/_javascript_Core/API/JSObjectRef.h 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/API/JSObjectRef.h 2018-09-26 20:04:27 UTC (rev 236520)
@@ -555,54 +555,6 @@
/*!
@function
-@abstract Tests whether an object has a given property using a JSValueRef as the property key.
-@param object The JSObject to test.
-@param propertyKey A JSValueRef containing the property key to use when looking up the property.
-@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
-@result true if the object has a property whose name matches propertyKey, otherwise false.
-@discussion This function is the same as performing "propertyKey in object" from _javascript_.
-*/
-JS_EXPORT bool JSObjectHasPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
-@function
-@abstract Gets a property from an object using a JSValueRef as the property key.
-@param ctx The execution context to use.
-@param object The JSObject whose property you want to get.
-@param propertyKey A JSValueRef containing the property key to use when looking up the property.
-@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
-@result The property's value if object has the property key, otherwise the undefined value.
-@discussion This function is the same as performing "object[propertyKey]" from _javascript_.
-*/
-JS_EXPORT JSValueRef JSObjectGetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
-@function
-@abstract Sets a property on an object using a JSValueRef as the property key.
-@param ctx The execution context to use.
-@param object The JSObject whose property you want to set.
-@param propertyKey A JSValueRef containing the property key to use when looking up the property.
-@param value A JSValueRef to use as the property's value.
-@param attributes A logically ORed set of JSPropertyAttributes to give to the property.
-@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
-@discussion This function is the same as performing "object[propertyKey] = value" from _javascript_.
-*/
-JS_EXPORT void JSObjectSetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef value, JSPropertyAttributes attributes, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
-@function
-@abstract Deletes a property from an object using a JSValueRef as the property key.
-@param ctx The execution context to use.
-@param object The JSObject whose property you want to delete.
-@param propertyKey A JSValueRef containing the property key to use when looking up the property.
-@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
-@result true if the delete operation succeeds, otherwise false (for example, if the property has the kJSPropertyAttributeDontDelete attribute set).
-@discussion This function is the same as performing "delete object[propertyKey]" from _javascript_.
-*/
-JS_EXPORT bool JSObjectDeletePropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
-@function
@abstract Gets a property from an object by numeric index.
@param ctx The execution context to use.
@param object The JSObject whose property you want to get.
Modified: trunk/Source/_javascript_Core/API/JSObjectRefPrivate.h (236519 => 236520)
--- trunk/Source/_javascript_Core/API/JSObjectRefPrivate.h 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/API/JSObjectRefPrivate.h 2018-09-26 20:04:27 UTC (rev 236520)
@@ -81,7 +81,64 @@
@result A JSObject that is a promise or NULL if an exception occurred.
*/
JS_EXPORT JSObjectRef JSObjectMakeDeferredPromise(JSContextRef ctx, JSObjectRef* resolve, JSObjectRef* reject, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
+
+/*!
+ @function
+ @abstract Tests whether an object has a given property using a JSValueRef as the property key.
+ @param object The JSObject to test.
+ @param propertyKey A JSValueRef containing the property key to use when looking up the property.
+ @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
+ @result true if the object has a property whose name matches propertyKey, otherwise false.
+ @discussion This function is the same as performing "propertyKey in object" from _javascript_.
+ */
+JS_EXPORT bool JSObjectHasPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @function
+ @abstract Gets a property from an object using a JSValueRef as the property key.
+ @param ctx The execution context to use.
+ @param object The JSObject whose property you want to get.
+ @param propertyKey A JSValueRef containing the property key to use when looking up the property.
+ @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
+ @result The property's value if object has the property key, otherwise the undefined value.
+ @discussion This function is the same as performing "object[propertyKey]" from _javascript_.
+ */
+JS_EXPORT JSValueRef JSObjectGetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @function
+ @abstract Sets a property on an object using a JSValueRef as the property key.
+ @param ctx The execution context to use.
+ @param object The JSObject whose property you want to set.
+ @param propertyKey A JSValueRef containing the property key to use when looking up the property.
+ @param value A JSValueRef to use as the property's value.
+ @param attributes A logically ORed set of JSPropertyAttributes to give to the property.
+ @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
+ @discussion This function is the same as performing "object[propertyKey] = value" from _javascript_.
+ */
+JS_EXPORT void JSObjectSetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef value, JSPropertyAttributes attributes, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @function
+ @abstract Deletes a property from an object using a JSValueRef as the property key.
+ @param ctx The execution context to use.
+ @param object The JSObject whose property you want to delete.
+ @param propertyKey A JSValueRef containing the property key to use when looking up the property.
+ @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
+ @result true if the delete operation succeeds, otherwise false (for example, if the property has the kJSPropertyAttributeDontDelete attribute set).
+ @discussion This function is the same as performing "delete object[propertyKey]" from _javascript_.
+ */
+JS_EXPORT bool JSObjectDeletePropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @function
+ @abstract Tests whether a _javascript_ value's type is the symbol type.
+ @param ctx The execution context to use.
+ @param value The JSValue to test.
+ @result true if value's type is the symbol type, otherwise false.
+ */
+JS_EXPORT bool JSValueIsSymbol(JSContextRef ctx, JSValueRef value) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/_javascript_Core/API/JSValue.h (236519 => 236520)
--- trunk/Source/_javascript_Core/API/JSValue.h 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/API/JSValue.h 2018-09-26 20:04:27 UTC (rev 236520)
@@ -47,12 +47,6 @@
NS_CLASS_AVAILABLE(10_9, 7_0)
@interface JSValue : NSObject
-#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < JSC_MAC_VERSION_TBA) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < JSC_IOS_VERSION_TBA)
-typedef NSString *JSValueProperty;
-#else
-typedef id JSValueProperty;
-#endif
-
/*!
@property
@abstract The JSContext that this value originates from.
@@ -155,15 +149,6 @@
+ (JSValue *)valueWithUndefinedInContext:(JSContext *)context;
/*!
- @method
- @abstract Create a new, unique, symbol object.
- @param description The description of the symbol object being created.
- @param context The JSContext to which the resulting JSValue belongs.
- @result The JSValue representing a unique _javascript_ value with type symbol.
- */
-+ (JSValue *)valueWithNewSymbolFromDescription:(NSString *)description inContext:(JSContext *)context JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
@methodgroup Converting to Objective-C Types
@discussion When converting between _javascript_ values and Objective-C objects a copy is
performed. Values of types listed below are copied to the corresponding
@@ -318,67 +303,6 @@
- (NSDictionary *)toDictionary;
/*!
-@methodgroup Accessing Properties
-*/
-
-/*!
-@method
-@abstract Access a property of a JSValue.
-@result The JSValue for the requested property or the JSValue <code>undefined</code>
- if the property does not exist.
-@discussion Corresponds to the _javascript_ operation <code>object[property]</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
-*/
-- (JSValue *)valueForProperty:(JSValueProperty)property;
-
-/*!
-@method
-@abstract Set a property on a JSValue.
-@discussion Corresponds to the _javascript_ operation <code>object[property] = value</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
-*/
-- (void)setValue:(id)value forProperty:(JSValueProperty)property;
-
-/*!
-@method
-@abstract Delete a property from a JSValue.
-@result YES if deletion is successful, NO otherwise.
-@discussion Corresponds to the _javascript_ operation <code>delete object[property]</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
-*/
-- (BOOL)deleteProperty:(JSValueProperty)property;
-
-/*!
-@method
-@abstract Check if a JSValue has a property.
-@discussion This method has the same function as the _javascript_ operator <code>in</code>.
-@result Returns YES if property is present on the value.
-@discussion Corresponds to the _javascript_ operation <code>property in object</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
-*/
-- (BOOL)hasProperty:(JSValueProperty)property;
-
-/*!
-@method
-@abstract Define properties with custom descriptors on JSValues.
-@discussion This method may be used to create a data or accessor property on an object.
- This method operates in accordance with the Object.defineProperty method in the _javascript_ language. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
-*/
-- (void)defineProperty:(JSValueProperty)property descriptor:(id)descriptor;
-
-/*!
-@method
-@abstract Access an indexed (numerical) property on a JSValue.
-@result The JSValue for the property at the specified index.
- Returns the _javascript_ value <code>undefined</code> if no property exists at that index.
-*/
-- (JSValue *)valueAtIndex:(NSUInteger)index;
-
-/*!
-@method
-@abstract Set an indexed (numerical) property on a JSValue.
-@discussion For JSValues that are _javascript_ arrays, indices greater than
- UINT_MAX - 1 will not affect the length of the array.
-*/
-- (void)setValue:(id)value atIndex:(NSUInteger)index;
-
-/*!
@functiongroup Checking _javascript_ Types
*/
@@ -423,12 +347,6 @@
/*!
@property
-@abstract Check if a JSValue is a symbol.
-*/
-@property (readonly) BOOL isSymbol JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
-/*!
-@property
@abstract Check if a JSValue is an array.
*/
@property (readonly) BOOL isArray JSC_API_AVAILABLE(macosx(10.11), ios(9.0));
@@ -581,6 +499,68 @@
@end
/*!
+ @category
+ @discussion These methods enable querying properties on a JSValue.
+ */
+@interface JSValue (PropertyAccess)
+
+/*!
+ @method
+ @abstract Access a property of a JSValue.
+ @result The JSValue for the requested property or the JSValue <code>undefined</code>
+ if the property does not exist.
+ */
+- (JSValue *)valueForProperty:(NSString *)property;
+
+/*!
+ @method
+ @abstract Set a property on a JSValue.
+ */
+- (void)setValue:(id)value forProperty:(NSString *)property;
+
+/*!
+ @method
+ @abstract Delete a property from a JSValue.
+ @result YES if deletion is successful, NO otherwise.
+ */
+- (BOOL)deleteProperty:(NSString *)property;
+
+/*!
+ @method
+ @abstract Check if a JSValue has a property.
+ @discussion This method has the same function as the _javascript_ operator <code>in</code>.
+ @result Returns YES if property is present on the value.
+ */
+- (BOOL)hasProperty:(NSString *)property;
+
+/*!
+ @method
+ @abstract Define properties with custom descriptors on JSValues.
+ @discussion This method may be used to create a data or accessor property on an object.
+ This method operates in accordance with the Object.defineProperty method in the
+ _javascript_ language.
+ */
+- (void)defineProperty:(NSString *)property descriptor:(id)descriptor;
+
+/*!
+ @method
+ @abstract Access an indexed (numerical) property on a JSValue.
+ @result The JSValue for the property at the specified index.
+ Returns the _javascript_ value <code>undefined</code> if no property exists at that index.
+ */
+- (JSValue *)valueAtIndex:(NSUInteger)index;
+
+/*!
+ @method
+ @abstract Set an indexed (numerical) property on a JSValue.
+ @discussion For JSValues that are _javascript_ arrays, indices greater than
+ UINT_MAX - 1 will not affect the length of the array.
+ */
+- (void)setValue:(id)value atIndex:(NSUInteger)index;
+
+@end
+
+/*!
@category
@discussion Instances of JSValue implement the following methods in order to enable
support for subscript access by key and index, for example:
@@ -594,16 +574,13 @@
@/textblock
An object key passed as a subscript will be converted to a _javascript_ value,
- and then the value using the same rules as <code>valueWithObject:inContext:</code>. In macOS
- TBA and iOS TBA and below, the <code>key</code> argument of
- <code>setObject:object forKeyedSubscript:key</code> was restricted to an
- <code>NSString <NSCopying> *</code> but that restriction was never used.
+ and then the value converted to a string used as a property name.
*/
@interface JSValue (SubscriptSupport)
-- (JSValue *)objectForKeyedSubscript:(JSValueProperty)key;
+- (JSValue *)objectForKeyedSubscript:(id)key;
- (JSValue *)objectAtIndexedSubscript:(NSUInteger)index;
-- (void)setObject:(id)object forKeyedSubscript:(JSValueProperty)key;
+- (void)setObject:(id)object forKeyedSubscript:(NSObject <NSCopying> *)key;
- (void)setObject:(id)object atIndexedSubscript:(NSUInteger)index;
@end
Modified: trunk/Source/_javascript_Core/API/JSValuePrivate.h (236519 => 236520)
--- trunk/Source/_javascript_Core/API/JSValuePrivate.h 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/API/JSValuePrivate.h 2018-09-26 20:04:27 UTC (rev 236520)
@@ -29,8 +29,70 @@
@interface JSValue(JSPrivate)
+#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < JSC_MAC_VERSION_TBA) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < JSC_IOS_VERSION_TBA)
+typedef NSString *JSValueProperty;
+#else
+typedef id JSValueProperty;
+#endif
+
/*!
@method
+ @abstract Create a new, unique, symbol object.
+ @param description The description of the symbol object being created.
+ @param context The JSContext to which the resulting JSValue belongs.
+ @result The JSValue representing a unique _javascript_ value with type symbol.
+ */
++ (JSValue *)valueWithNewSymbolFromDescription:(NSString *)description inContext:(JSContext *)context JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @method
+ @abstract Access a property of a JSValue.
+ @result The JSValue for the requested property or the JSValue <code>undefined</code>
+ if the property does not exist.
+ @discussion Corresponds to the _javascript_ operation <code>object[property]</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
+ */
+- (JSValue *)valueForProperty:(JSValueProperty)property;
+
+/*!
+ @method
+ @abstract Set a property on a JSValue.
+ @discussion Corresponds to the _javascript_ operation <code>object[property] = value</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
+ */
+- (void)setValue:(id)value forProperty:(JSValueProperty)property;
+
+/*!
+ @method
+ @abstract Delete a property from a JSValue.
+ @result YES if deletion is successful, NO otherwise.
+ @discussion Corresponds to the _javascript_ operation <code>delete object[property]</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
+ */
+- (BOOL)deleteProperty:(JSValueProperty)property;
+
+/*!
+ @method
+ @abstract Check if a JSValue has a property.
+ @discussion This method has the same function as the _javascript_ operator <code>in</code>.
+ @result Returns YES if property is present on the value.
+ @discussion Corresponds to the _javascript_ operation <code>property in object</code>. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
+ */
+- (BOOL)hasProperty:(JSValueProperty)property;
+
+/*!
+ @method
+ @abstract Define properties with custom descriptors on JSValues.
+ @discussion This method may be used to create a data or accessor property on an object.
+ This method operates in accordance with the Object.defineProperty method in the _javascript_ language. After macOS TBA and iOS TBA, 'property' can be any 'id' and will be converted to a JSValue using the conversion rules of <code>valueWithObject:inContext:</code>. Prior to macOS TBA and iOS TBA, 'property' was expected to be an NSString *.
+ */
+- (void)defineProperty:(JSValueProperty)property descriptor:(id)descriptor;
+
+/*!
+ @property
+ @abstract Check if a JSValue is a symbol.
+ */
+@property (readonly) BOOL isSymbol JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
+
+/*!
+ @method
@abstract Create a new promise object using the provided executor callback.
@param callback A callback block invoked while the promise object is
being initialized. The resolve and reject parameters are functions that
@@ -68,4 +130,32 @@
@end
+/*!
+ @category
+ @discussion Instances of JSValue implement the following methods in order to enable
+ support for subscript access by key and index, for example:
+
+ @textblock
+ JSValue *objectA, *objectB;
+ JSValue *v1 = object[@"X"]; // Get value for property "X" from 'object'.
+ JSValue *v2 = object[42]; // Get value for index 42 from 'object'.
+ object[@"Y"] = v1; // Assign 'v1' to property "Y" of 'object'.
+ object[101] = v2; // Assign 'v2' to index 101 of 'object'.
+ @/textblock
+
+ An object key passed as a subscript will be converted to a _javascript_ value,
+ and then the value using the same rules as <code>valueWithObject:inContext:</code>. In macOS
+ TBA and iOS TBA and below, the <code>key</code> argument of
+ <code>setObject:object forKeyedSubscript:key</code> was restricted to an
+ <code>NSString <NSCopying> *</code> but that restriction was never used.
+ */
+@interface JSValue (SubscriptSupportPrivate)
+
+- (JSValue *)objectForKeyedSubscript:(JSValueProperty)key;
+- (JSValue *)objectAtIndexedSubscript:(NSUInteger)index;
+- (void)setObject:(id)object forKeyedSubscript:(JSValueProperty)key;
+- (void)setObject:(id)object atIndexedSubscript:(NSUInteger)index;
+
+@end
+
#endif // JSC_OBJC_API_ENABLED
Modified: trunk/Source/_javascript_Core/API/JSValueRef.h (236519 => 236520)
--- trunk/Source/_javascript_Core/API/JSValueRef.h 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/API/JSValueRef.h 2018-09-26 20:04:27 UTC (rev 236520)
@@ -151,16 +151,7 @@
*/
JS_EXPORT bool JSValueIsObject(JSContextRef ctx, JSValueRef value);
-/*!
-@function
-@abstract Tests whether a _javascript_ value's type is the symbol type.
-@param ctx The execution context to use.
-@param value The JSValue to test.
-@result true if value's type is the symbol type, otherwise false.
-*/
-JS_EXPORT bool JSValueIsSymbol(JSContextRef ctx, JSValueRef value) JSC_API_AVAILABLE(macosx(JSC_MAC_TBA), ios(JSC_IOS_TBA));
-
/*!
@function
@abstract Tests whether a _javascript_ value is an object with a given class in its class chain.
Modified: trunk/Source/_javascript_Core/ChangeLog (236519 => 236520)
--- trunk/Source/_javascript_Core/ChangeLog 2018-09-26 20:02:57 UTC (rev 236519)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-09-26 20:04:27 UTC (rev 236520)
@@ -1,3 +1,23 @@
+2018-09-25 Keith Miller <[email protected]>
+
+ Move Symbol API to SPI
+ https://bugs.webkit.org/show_bug.cgi?id=189946
+
+ Reviewed by Michael Saboff.
+
+ Some of the property access methods on JSValue needed to be moved
+ to a category so that SPI overloads don't result in a compiler
+ error for internal users.
+
+ Additionally, this patch does not move the new enum entry for
+ Symbols in the JSType enumeration.
+
+ * API/JSObjectRef.h:
+ * API/JSObjectRefPrivate.h:
+ * API/JSValue.h:
+ * API/JSValuePrivate.h:
+ * API/JSValueRef.h:
+
2018-09-26 Keith Miller <[email protected]>
We should zero unused property storage when rebalancing array storage.