Title: [236520] trunk/Source/_javascript_Core
Revision
236520
Author
[email protected]
Date
2018-09-26 13:04:27 -0700 (Wed, 26 Sep 2018)

Log Message

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:

Modified Paths

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.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to