Changeset 161009 in webkit


Ignore:
Timestamp:
Dec 23, 2013 11:51:38 AM (10 years ago)
Author:
oliver@apple.com
Message:

Update custom setter implementations to perform type checks
https://bugs.webkit.org/show_bug.cgi?id=126171

Reviewed by Daniel Bates.

Source/JavaScriptCore:

Modify the setter function signature to take encoded values
as we're changing the setter usage everywhere anyway.

  • runtime/Lookup.h:

(JSC::putEntry):

Source/WebCore:

Update the bindings code generator for setters so that they perform a real
type check.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):

  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

  • bindings/scripts/test/JS/JSTestTypedefs.h:
Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r161003 r161009  
     12013-12-23  Oliver Hunt  <oliver@apple.com>
     2
     3        Update custom setter implementations to perform type checks
     4        https://bugs.webkit.org/show_bug.cgi?id=126171
     5
     6        Reviewed by Daniel Bates.
     7
     8        Modify the setter function signature to take encoded values
     9        as we're changing the setter usage everywhere anyway.
     10
     11        * runtime/Lookup.h:
     12        (JSC::putEntry):
     13
    1142013-12-23  Lucas Forschler  <lforschler@apple.com>
    215
  • trunk/Source/JavaScriptCore/runtime/Lookup.h

    r160092 r161009  
    4242    // ie. typedef JSValue (*GetFunction)(ExecState*, JSObject* baseObject)
    4343    typedef PropertySlot::GetValueFunc GetFunction;
    44     typedef void (*PutFunction)(ExecState*, JSObject* baseObject, JSValue value);
     44    typedef void (*PutFunction)(ExecState*, EncodedJSValue base, EncodedJSValue value);
    4545
    4646    class HashEntry {
     
    298298            thisObj->putDirect(exec->vm(), propertyName, value);
    299299        else if (!(entry->attributes() & ReadOnly))
    300             entry->propertyPutter()(exec, thisObj, value);
     300            entry->propertyPutter()(exec, JSValue::encode(thisObj), JSValue::encode(value));
    301301        else if (shouldThrow)
    302302            throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
  • trunk/Source/WebCore/ChangeLog

    r161003 r161009  
     12013-12-23  Oliver Hunt  <oliver@apple.com>
     2
     3        Update custom setter implementations to perform type checks
     4        https://bugs.webkit.org/show_bug.cgi?id=126171
     5
     6        Reviewed by Daniel Bates.
     7
     8        Update the bindings code generator for setters so that they perform a real
     9        type check.
     10
     11        * bindings/scripts/CodeGeneratorJS.pm:
     12        (GenerateAttributeEventListenerCall):
     13        (GenerateHeader):
     14        (GenerateImplementation):
     15        * bindings/scripts/test/JS/JSTestInterface.cpp:
     16        (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
     17        (WebCore::setJSTestInterfaceImplementsStr2):
     18        (WebCore::setJSTestInterfaceImplementsStr3):
     19        (WebCore::setJSTestInterfaceImplementsNode):
     20        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
     21        (WebCore::setJSTestInterfaceSupplementalStr2):
     22        (WebCore::setJSTestInterfaceSupplementalStr3):
     23        (WebCore::setJSTestInterfaceSupplementalNode):
     24        * bindings/scripts/test/JS/JSTestInterface.h:
     25        * bindings/scripts/test/JS/JSTestObj.cpp:
     26        (WebCore::setJSTestObjConstructorStaticStringAttr):
     27        (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
     28        (WebCore::setJSTestObjEnumAttr):
     29        (WebCore::setJSTestObjByteAttr):
     30        (WebCore::setJSTestObjOctetAttr):
     31        (WebCore::setJSTestObjShortAttr):
     32        (WebCore::setJSTestObjUnsignedShortAttr):
     33        (WebCore::setJSTestObjLongAttr):
     34        (WebCore::setJSTestObjLongLongAttr):
     35        (WebCore::setJSTestObjUnsignedLongLongAttr):
     36        (WebCore::setJSTestObjStringAttr):
     37        (WebCore::setJSTestObjTestObjAttr):
     38        (WebCore::setJSTestObjXMLObjAttr):
     39        (WebCore::setJSTestObjCreate):
     40        (WebCore::setJSTestObjReflectedStringAttr):
     41        (WebCore::setJSTestObjReflectedIntegralAttr):
     42        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
     43        (WebCore::setJSTestObjReflectedBooleanAttr):
     44        (WebCore::setJSTestObjReflectedURLAttr):
     45        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
     46        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
     47        (WebCore::setJSTestObjReflectedCustomURLAttr):
     48        (WebCore::setJSTestObjTypedArrayAttr):
     49        (WebCore::setJSTestObjAttrWithGetterException):
     50        (WebCore::setJSTestObjAttrWithSetterException):
     51        (WebCore::setJSTestObjStringAttrWithGetterException):
     52        (WebCore::setJSTestObjStringAttrWithSetterException):
     53        (WebCore::setJSTestObjCustomAttr):
     54        (WebCore::setJSTestObjWithScriptStateAttribute):
     55        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
     56        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
     57        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
     58        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
     59        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
     60        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
     61        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
     62        (WebCore::setJSTestObjConditionalAttr1):
     63        (WebCore::setJSTestObjConditionalAttr2):
     64        (WebCore::setJSTestObjConditionalAttr3):
     65        (WebCore::setJSTestObjConditionalAttr4Constructor):
     66        (WebCore::setJSTestObjConditionalAttr5Constructor):
     67        (WebCore::setJSTestObjConditionalAttr6Constructor):
     68        (WebCore::setJSTestObjAnyAttribute):
     69        (WebCore::setJSTestObjMutablePoint):
     70        (WebCore::setJSTestObjImmutablePoint):
     71        (WebCore::setJSTestObjStrawberry):
     72        (WebCore::setJSTestObjStrictFloat):
     73        (WebCore::setJSTestObjId):
     74        (WebCore::setJSTestObjReplaceableAttribute):
     75        (WebCore::setJSTestObjNullableLongSettableAttribute):
     76        (WebCore::setJSTestObjNullableStringValue):
     77        (WebCore::setJSTestObjAttributeWithReservedEnumType):
     78        * bindings/scripts/test/JS/JSTestObj.h:
     79        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
     80        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
     81        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
     82        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
     83        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
     84        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
     85        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
     86        (WebCore::setJSTestTypedefsAttrWithGetterException):
     87        (WebCore::setJSTestTypedefsAttrWithSetterException):
     88        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
     89        (WebCore::setJSTestTypedefsStringAttrWithSetterException):
     90        * bindings/scripts/test/JS/JSTestTypedefs.h:
     91
    1922013-12-23  Lucas Forschler  <lforschler@apple.com>
    293
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r160879 r161009  
    112112    my $windowEventListener = shift;
    113113
    114     my $wrapperObject = $windowEventListener ? "globalObject" : "thisObject";
     114    my $wrapperObject = $windowEventListener ? "globalObject" : "castedThis";
    115115    my @GenerateEventListenerImpl = ();
    116116
     
    10641064            if (!IsReadonly($attribute)) {
    10651065                my $setter = GetAttributeSetterName($interfaceName, $className, $attribute);
    1066                 push(@headerContent, "void ${setter}(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);\n");
     1066                push(@headerContent, "void ${setter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
    10671067            }
    10681068            push(@headerContent, "#endif\n") if $conditionalString;
     
    10761076        if ($interface->extendedAttributes->{"ReplaceableConstructor"}) {
    10771077            my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
    1078             push(@headerContent, "void ${constructorFunctionName}(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);\n");
     1078            push(@headerContent, "void ${constructorFunctionName}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
    10791079        }
    10801080    }
     
    21532153                        push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString;
    21542154
    2155                         push(@implContent, "void ${putFunctionName}(ExecState* exec, JSObject*");
    2156                         push(@implContent, " thisObject") if !$attribute->isStatic;
    2157                         push(@implContent, ", JSValue value)\n");
     2155                        push(@implContent, "void ${putFunctionName}(ExecState* exec, EncodedJSValue");
     2156                        push(@implContent, " thisValue") if !$attribute->isStatic;
     2157                        push(@implContent, ", EncodedJSValue encodedValue)\n");
    21582158                        push(@implContent, "{\n");
    2159 
     2159                        push(@implContent, "    JSValue value = JSValue::decode(encodedValue);\n");
    21602160                        push(@implContent, "    UNUSED_PARAM(exec);\n");
    2161 
     2161                        if (!$attribute->isStatic) {
     2162                            push(@implContent, "    ${className}* castedThis = jsDynamicCast<${className}*>(JSValue::decode(thisValue));\n");
     2163                            push(@implContent, "    if (!castedThis) {\n");
     2164                            push(@implContent, "        throwVMTypeError(exec);\n");
     2165                            push(@implContent, "        return;\n");
     2166                            push(@implContent, "    }\n");
     2167                        }
    21622168                        if ($interface->extendedAttributes->{"CheckSecurity"} && !$attribute->signature->extendedAttributes->{"DoNotCheckSecurity"}) {
    21632169                            if ($interfaceName eq "DOMWindow") {
    2164                                 push(@implContent, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, jsCast<$className*>(thisObject)->impl()))\n");
     2170                                push(@implContent, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, jsCast<$className*>(castedThis)->impl()))\n");
    21652171                            } else {
    2166                                 push(@implContent, "    if (!shouldAllowAccessToFrame(exec, jsCast<$className*>(thisObject)->impl().frame()))\n");
     2172                                push(@implContent, "    if (!shouldAllowAccessToFrame(exec, jsCast<$className*>(castedThis)->impl().frame()))\n");
    21672173                            }
    21682174                            push(@implContent, "        return;\n");
     
    21702176
    21712177                        if (HasCustomSetter($attribute->signature->extendedAttributes)) {
    2172                             push(@implContent, "    jsCast<$className*>(thisObject)->set$implSetterFunctionName(exec, value);\n");
     2178                            push(@implContent, "    castedThis->set$implSetterFunctionName(exec, value);\n");
    21732179                        } elsif ($type eq "EventListener") {
    21742180                            $implIncludes{"JSEventListener.h"} = 1;
    21752181                            push(@implContent, "    UNUSED_PARAM(exec);\n");
    2176                             push(@implContent, "    ${className}* castedThis = jsCast<${className}*>(thisObject);\n");
    21772182                            my $windowEventListener = $attribute->signature->extendedAttributes->{"JSWindowEventListener"};
    21782183                            if ($windowEventListener) {
     
    21822187                            if ((($interfaceName eq "DOMWindow") or ($interfaceName eq "WorkerGlobalScope")) and $name eq "onerror") {
    21832188                                $implIncludes{"JSErrorHandler.h"} = 1;
    2184                                 push(@implContent, "    impl.set$implSetterFunctionName(createJSErrorHandler(exec, value, thisObject));\n");
     2189                                push(@implContent, "    impl.set$implSetterFunctionName(createJSErrorHandler(exec, value, castedThis));\n");
    21852190                            } else {
    21862191                                push(@implContent, GenerateAttributeEventListenerCall($className, $implSetterFunctionName, $windowEventListener));
     
    21982203                            if ($interfaceName eq "DOMWindow" && $className eq "JSblah") {
    21992204                                # FIXME: This branch never executes and should be removed.
    2200                                 push(@implContent, "    jsCast<$className*>(thisObject)->putDirect(exec->vm(), exec->propertyNames().constructor, value);\n");
     2205                                push(@implContent, "    castedThis->putDirect(exec->vm(), exec->propertyNames().constructor, value);\n");
    22012206                            } else {
    2202                                 push(@implContent, "    jsCast<$className*>(thisObject)->putDirect(exec->vm(), Identifier(exec, \"$name\"), value);\n");
     2207                                push(@implContent, "    castedThis->putDirect(exec->vm(), Identifier(exec, \"$name\"), value);\n");
    22032208                            }
    22042209                        } elsif ($attribute->signature->extendedAttributes->{"Replaceable"}) {
    22052210                            push(@implContent, "    // Shadowing a built-in object\n");
    2206                             push(@implContent, "    jsCast<$className*>(thisObject)->putDirect(exec->vm(), Identifier(exec, \"$name\"), value);\n");
     2211                            push(@implContent, "    castedThis->putDirect(exec->vm(), Identifier(exec, \"$name\"), value);\n");
    22072212                        } else {
    22082213                            if (!$attribute->isStatic) {
    2209                                 push(@implContent, "    $className* castedThis = jsCast<$className*>(thisObject);\n");
    22102214                                push(@implContent, "    $implType& impl = castedThis->impl();\n");
    22112215                            }
     
    23052309            my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
    23062310
    2307             push(@implContent, "void ${constructorFunctionName}(ExecState* exec, JSObject* thisObject, JSValue value)\n");
     2311            push(@implContent, "void ${constructorFunctionName}(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)\n");
    23082312            push(@implContent, "{\n");
     2313            push(@implContent, "    JSValue value = JSValue::decode(encodedValue);");
     2314            push(@implContent, "    ${className}* castedThis = jsDynamicCast<${className}*>(JSValue::decode(thisValue));\n");
     2315            push(@implContent, "    if (!castedThis) {\n");
     2316            push(@implContent, "        throwVMTypeError(exec);\n");
     2317            push(@implContent, "        return;\n");
     2318            push(@implContent, "    }\n");
    23092319            if ($interface->extendedAttributes->{"CheckSecurity"}) {
    23102320                if ($interfaceName eq "DOMWindow") {
    2311                     push(@implContent, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, jsCast<$className*>(thisObject)->impl()))\n");
     2321                    push(@implContent, "    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, castedThis->impl()))\n");
    23122322                } else {
    2313                     push(@implContent, "    if (!shouldAllowAccessToFrame(exec, jsCast<$className*>(thisObject)->impl().frame()))\n");
     2323                    push(@implContent, "    if (!shouldAllowAccessToFrame(exec, castedThis->impl().frame()))\n");
    23142324                }
    23152325                push(@implContent, "        return;\n");
     
    23192329
    23202330            if ($interfaceName eq "DOMWindow") {
    2321                 push(@implContent, "    jsCast<$className*>(thisObject)->putDirect(exec->vm(), exec->propertyNames().constructor, value);\n");
     2331                push(@implContent, "    castedThis->putDirect(exec->vm(), exec->propertyNames().constructor, value);\n");
    23222332            } else {
    23232333                die "No way to handle interface with ReplaceableConstructor extended attribute: $interfaceName";
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp

    r160879 r161009  
    463463
    464464#if ENABLE(Condition22) || ENABLE(Condition23)
    465 void setJSTestInterfaceConstructorImplementsStaticAttr(ExecState* exec, JSObject*, JSValue value)
    466 {
     465void setJSTestInterfaceConstructorImplementsStaticAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
     466{
     467    JSValue value = JSValue::decode(encodedValue);
    467468    UNUSED_PARAM(exec);
    468469    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    475476
    476477#if ENABLE(Condition22) || ENABLE(Condition23)
    477 void setJSTestInterfaceImplementsStr2(ExecState* exec, JSObject* thisObject, JSValue value)
    478 {
    479     UNUSED_PARAM(exec);
    480     JSTestInterface* castedThis = jsCast<JSTestInterface*>(thisObject);
     478void setJSTestInterfaceImplementsStr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     479{
     480    JSValue value = JSValue::decode(encodedValue);
     481    UNUSED_PARAM(exec);
     482    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     483    if (!castedThis) {
     484        throwVMTypeError(exec);
     485        return;
     486    }
    481487    TestInterface& impl = castedThis->impl();
    482488    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    489495
    490496#if ENABLE(Condition22) || ENABLE(Condition23)
    491 void setJSTestInterfaceImplementsStr3(ExecState* exec, JSObject* thisObject, JSValue value)
    492 {
    493     UNUSED_PARAM(exec);
    494     jsCast<JSTestInterface*>(thisObject)->setImplementsStr3(exec, value);
    495 }
    496 
    497 #endif
    498 
    499 #if ENABLE(Condition22) || ENABLE(Condition23)
    500 void setJSTestInterfaceImplementsNode(ExecState* exec, JSObject* thisObject, JSValue value)
    501 {
    502     UNUSED_PARAM(exec);
    503     JSTestInterface* castedThis = jsCast<JSTestInterface*>(thisObject);
     497void setJSTestInterfaceImplementsStr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     498{
     499    JSValue value = JSValue::decode(encodedValue);
     500    UNUSED_PARAM(exec);
     501    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     502    if (!castedThis) {
     503        throwVMTypeError(exec);
     504        return;
     505    }
     506    castedThis->setImplementsStr3(exec, value);
     507}
     508
     509#endif
     510
     511#if ENABLE(Condition22) || ENABLE(Condition23)
     512void setJSTestInterfaceImplementsNode(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     513{
     514    JSValue value = JSValue::decode(encodedValue);
     515    UNUSED_PARAM(exec);
     516    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     517    if (!castedThis) {
     518        throwVMTypeError(exec);
     519        return;
     520    }
    504521    TestInterface& impl = castedThis->impl();
    505522    Node* nativeValue(toNode(value));
     
    512529
    513530#if ENABLE(Condition11) || ENABLE(Condition12)
    514 void setJSTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, JSObject*, JSValue value)
    515 {
     531void setJSTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
     532{
     533    JSValue value = JSValue::decode(encodedValue);
    516534    UNUSED_PARAM(exec);
    517535    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    524542
    525543#if ENABLE(Condition11) || ENABLE(Condition12)
    526 void setJSTestInterfaceSupplementalStr2(ExecState* exec, JSObject* thisObject, JSValue value)
    527 {
    528     UNUSED_PARAM(exec);
    529     JSTestInterface* castedThis = jsCast<JSTestInterface*>(thisObject);
     544void setJSTestInterfaceSupplementalStr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     545{
     546    JSValue value = JSValue::decode(encodedValue);
     547    UNUSED_PARAM(exec);
     548    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     549    if (!castedThis) {
     550        throwVMTypeError(exec);
     551        return;
     552    }
    530553    TestInterface& impl = castedThis->impl();
    531554    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    538561
    539562#if ENABLE(Condition11) || ENABLE(Condition12)
    540 void setJSTestInterfaceSupplementalStr3(ExecState* exec, JSObject* thisObject, JSValue value)
    541 {
    542     UNUSED_PARAM(exec);
    543     jsCast<JSTestInterface*>(thisObject)->setSupplementalStr3(exec, value);
    544 }
    545 
    546 #endif
    547 
    548 #if ENABLE(Condition11) || ENABLE(Condition12)
    549 void setJSTestInterfaceSupplementalNode(ExecState* exec, JSObject* thisObject, JSValue value)
    550 {
    551     UNUSED_PARAM(exec);
    552     JSTestInterface* castedThis = jsCast<JSTestInterface*>(thisObject);
     563void setJSTestInterfaceSupplementalStr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     564{
     565    JSValue value = JSValue::decode(encodedValue);
     566    UNUSED_PARAM(exec);
     567    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     568    if (!castedThis) {
     569        throwVMTypeError(exec);
     570        return;
     571    }
     572    castedThis->setSupplementalStr3(exec, value);
     573}
     574
     575#endif
     576
     577#if ENABLE(Condition11) || ENABLE(Condition12)
     578void setJSTestInterfaceSupplementalNode(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     579{
     580    JSValue value = JSValue::decode(encodedValue);
     581    UNUSED_PARAM(exec);
     582    JSTestInterface* castedThis = jsDynamicCast<JSTestInterface*>(JSValue::decode(thisValue));
     583    if (!castedThis) {
     584        throwVMTypeError(exec);
     585        return;
     586    }
    553587    TestInterface& impl = castedThis->impl();
    554588    Node* nativeValue(toNode(value));
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h

    r160208 r161009  
    203203#if ENABLE(Condition22) || ENABLE(Condition23)
    204204JSC::EncodedJSValue jsTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    205 void setJSTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     205void setJSTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    206206#endif
    207207#if ENABLE(Condition22) || ENABLE(Condition23)
     
    210210#if ENABLE(Condition22) || ENABLE(Condition23)
    211211JSC::EncodedJSValue jsTestInterfaceImplementsStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    212 void setJSTestInterfaceImplementsStr2(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     212void setJSTestInterfaceImplementsStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    213213#endif
    214214#if ENABLE(Condition22) || ENABLE(Condition23)
    215215JSC::EncodedJSValue jsTestInterfaceImplementsStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    216 void setJSTestInterfaceImplementsStr3(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     216void setJSTestInterfaceImplementsStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    217217#endif
    218218#if ENABLE(Condition22) || ENABLE(Condition23)
    219219JSC::EncodedJSValue jsTestInterfaceImplementsNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    220 void setJSTestInterfaceImplementsNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     220void setJSTestInterfaceImplementsNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    221221#endif
    222222#if ENABLE(Condition11) || ENABLE(Condition12)
     
    225225#if ENABLE(Condition11) || ENABLE(Condition12)
    226226JSC::EncodedJSValue jsTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    227 void setJSTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     227void setJSTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    228228#endif
    229229#if ENABLE(Condition11) || ENABLE(Condition12)
     
    232232#if ENABLE(Condition11) || ENABLE(Condition12)
    233233JSC::EncodedJSValue jsTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    234 void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     234void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    235235#endif
    236236#if ENABLE(Condition11) || ENABLE(Condition12)
    237237JSC::EncodedJSValue jsTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    238 void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     238void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    239239#endif
    240240#if ENABLE(Condition11) || ENABLE(Condition12)
    241241JSC::EncodedJSValue jsTestInterfaceSupplementalNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    242 void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     242void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    243243#endif
    244244JSC::EncodedJSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r160879 r161009  
    13231323}
    13241324
    1325 void setJSTestObjConstructorStaticStringAttr(ExecState* exec, JSObject*, JSValue value)
    1326 {
     1325void setJSTestObjConstructorStaticStringAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
     1326{
     1327    JSValue value = JSValue::decode(encodedValue);
    13271328    UNUSED_PARAM(exec);
    13281329    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    13331334
    13341335
    1335 void setJSTestObjTestSubObjEnabledBySettingConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
    1336 {
    1337     UNUSED_PARAM(exec);
     1336void setJSTestObjTestSubObjEnabledBySettingConstructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1337{
     1338    JSValue value = JSValue::decode(encodedValue);
     1339    UNUSED_PARAM(exec);
     1340    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1341    if (!castedThis) {
     1342        throwVMTypeError(exec);
     1343        return;
     1344    }
    13381345    // Shadowing a built-in constructor
    1339     jsCast<JSTestObj*>(thisObject)->putDirect(exec->vm(), Identifier(exec, "TestSubObjEnabledBySetting"), value);
    1340 }
    1341 
    1342 
    1343 void setJSTestObjEnumAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1344 {
    1345     UNUSED_PARAM(exec);
    1346     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1346    castedThis->putDirect(exec->vm(), Identifier(exec, "TestSubObjEnabledBySetting"), value);
     1347}
     1348
     1349
     1350void setJSTestObjEnumAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1351{
     1352    JSValue value = JSValue::decode(encodedValue);
     1353    UNUSED_PARAM(exec);
     1354    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1355    if (!castedThis) {
     1356        throwVMTypeError(exec);
     1357        return;
     1358    }
    13471359    TestObj& impl = castedThis->impl();
    13481360    const String nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    13551367
    13561368
    1357 void setJSTestObjByteAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1358 {
    1359     UNUSED_PARAM(exec);
    1360     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1369void setJSTestObjByteAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1370{
     1371    JSValue value = JSValue::decode(encodedValue);
     1372    UNUSED_PARAM(exec);
     1373    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1374    if (!castedThis) {
     1375        throwVMTypeError(exec);
     1376        return;
     1377    }
    13611378    TestObj& impl = castedThis->impl();
    13621379    int8_t nativeValue(toInt8(exec, value, NormalConversion));
     
    13671384
    13681385
    1369 void setJSTestObjOctetAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1370 {
    1371     UNUSED_PARAM(exec);
    1372     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1386void setJSTestObjOctetAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1387{
     1388    JSValue value = JSValue::decode(encodedValue);
     1389    UNUSED_PARAM(exec);
     1390    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1391    if (!castedThis) {
     1392        throwVMTypeError(exec);
     1393        return;
     1394    }
    13731395    TestObj& impl = castedThis->impl();
    13741396    uint8_t nativeValue(toUInt8(exec, value, NormalConversion));
     
    13791401
    13801402
    1381 void setJSTestObjShortAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1382 {
    1383     UNUSED_PARAM(exec);
    1384     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1403void setJSTestObjShortAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1404{
     1405    JSValue value = JSValue::decode(encodedValue);
     1406    UNUSED_PARAM(exec);
     1407    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1408    if (!castedThis) {
     1409        throwVMTypeError(exec);
     1410        return;
     1411    }
    13851412    TestObj& impl = castedThis->impl();
    13861413    int16_t nativeValue(toInt16(exec, value, NormalConversion));
     
    13911418
    13921419
    1393 void setJSTestObjUnsignedShortAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1394 {
    1395     UNUSED_PARAM(exec);
    1396     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1420void setJSTestObjUnsignedShortAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1421{
     1422    JSValue value = JSValue::decode(encodedValue);
     1423    UNUSED_PARAM(exec);
     1424    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1425    if (!castedThis) {
     1426        throwVMTypeError(exec);
     1427        return;
     1428    }
    13971429    TestObj& impl = castedThis->impl();
    13981430    uint16_t nativeValue(toUInt16(exec, value, NormalConversion));
     
    14031435
    14041436
    1405 void setJSTestObjLongAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1406 {
    1407     UNUSED_PARAM(exec);
    1408     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1437void setJSTestObjLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1438{
     1439    JSValue value = JSValue::decode(encodedValue);
     1440    UNUSED_PARAM(exec);
     1441    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1442    if (!castedThis) {
     1443        throwVMTypeError(exec);
     1444        return;
     1445    }
    14091446    TestObj& impl = castedThis->impl();
    14101447    int nativeValue(toInt32(exec, value, NormalConversion));
     
    14151452
    14161453
    1417 void setJSTestObjLongLongAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1418 {
    1419     UNUSED_PARAM(exec);
    1420     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1454void setJSTestObjLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1455{
     1456    JSValue value = JSValue::decode(encodedValue);
     1457    UNUSED_PARAM(exec);
     1458    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1459    if (!castedThis) {
     1460        throwVMTypeError(exec);
     1461        return;
     1462    }
    14211463    TestObj& impl = castedThis->impl();
    14221464    long long nativeValue(toInt64(exec, value, NormalConversion));
     
    14271469
    14281470
    1429 void setJSTestObjUnsignedLongLongAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1430 {
    1431     UNUSED_PARAM(exec);
    1432     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1471void setJSTestObjUnsignedLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1472{
     1473    JSValue value = JSValue::decode(encodedValue);
     1474    UNUSED_PARAM(exec);
     1475    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1476    if (!castedThis) {
     1477        throwVMTypeError(exec);
     1478        return;
     1479    }
    14331480    TestObj& impl = castedThis->impl();
    14341481    unsigned long long nativeValue(toUInt64(exec, value, NormalConversion));
     
    14391486
    14401487
    1441 void setJSTestObjStringAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1442 {
    1443     UNUSED_PARAM(exec);
    1444     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1488void setJSTestObjStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1489{
     1490    JSValue value = JSValue::decode(encodedValue);
     1491    UNUSED_PARAM(exec);
     1492    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1493    if (!castedThis) {
     1494        throwVMTypeError(exec);
     1495        return;
     1496    }
    14451497    TestObj& impl = castedThis->impl();
    14461498    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    14511503
    14521504
    1453 void setJSTestObjTestObjAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1454 {
    1455     UNUSED_PARAM(exec);
    1456     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1505void setJSTestObjTestObjAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1506{
     1507    JSValue value = JSValue::decode(encodedValue);
     1508    UNUSED_PARAM(exec);
     1509    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1510    if (!castedThis) {
     1511        throwVMTypeError(exec);
     1512        return;
     1513    }
    14571514    TestObj& impl = castedThis->impl();
    14581515    TestObj* nativeValue(toTestObj(value));
     
    14631520
    14641521
    1465 void setJSTestObjXMLObjAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1466 {
    1467     UNUSED_PARAM(exec);
    1468     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1522void setJSTestObjXMLObjAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1523{
     1524    JSValue value = JSValue::decode(encodedValue);
     1525    UNUSED_PARAM(exec);
     1526    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1527    if (!castedThis) {
     1528        throwVMTypeError(exec);
     1529        return;
     1530    }
    14691531    TestObj& impl = castedThis->impl();
    14701532    TestObj* nativeValue(toTestObj(value));
     
    14751537
    14761538
    1477 void setJSTestObjCreate(ExecState* exec, JSObject* thisObject, JSValue value)
    1478 {
    1479     UNUSED_PARAM(exec);
    1480     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1539void setJSTestObjCreate(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1540{
     1541    JSValue value = JSValue::decode(encodedValue);
     1542    UNUSED_PARAM(exec);
     1543    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1544    if (!castedThis) {
     1545        throwVMTypeError(exec);
     1546        return;
     1547    }
    14811548    TestObj& impl = castedThis->impl();
    14821549    bool nativeValue(value.toBoolean(exec));
     
    14871554
    14881555
    1489 void setJSTestObjReflectedStringAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1490 {
    1491     UNUSED_PARAM(exec);
    1492     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1556void setJSTestObjReflectedStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1557{
     1558    JSValue value = JSValue::decode(encodedValue);
     1559    UNUSED_PARAM(exec);
     1560    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1561    if (!castedThis) {
     1562        throwVMTypeError(exec);
     1563        return;
     1564    }
    14931565    TestObj& impl = castedThis->impl();
    14941566    const String& nativeValue(valueToStringWithNullCheck(exec, value));
     
    14991571
    15001572
    1501 void setJSTestObjReflectedIntegralAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1502 {
    1503     UNUSED_PARAM(exec);
    1504     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1573void setJSTestObjReflectedIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1574{
     1575    JSValue value = JSValue::decode(encodedValue);
     1576    UNUSED_PARAM(exec);
     1577    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1578    if (!castedThis) {
     1579        throwVMTypeError(exec);
     1580        return;
     1581    }
    15051582    TestObj& impl = castedThis->impl();
    15061583    int nativeValue(toInt32(exec, value, NormalConversion));
     
    15111588
    15121589
    1513 void setJSTestObjReflectedUnsignedIntegralAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1514 {
    1515     UNUSED_PARAM(exec);
    1516     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1590void setJSTestObjReflectedUnsignedIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1591{
     1592    JSValue value = JSValue::decode(encodedValue);
     1593    UNUSED_PARAM(exec);
     1594    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1595    if (!castedThis) {
     1596        throwVMTypeError(exec);
     1597        return;
     1598    }
    15171599    TestObj& impl = castedThis->impl();
    15181600    unsigned nativeValue(toUInt32(exec, value, NormalConversion));
     
    15231605
    15241606
    1525 void setJSTestObjReflectedBooleanAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1526 {
    1527     UNUSED_PARAM(exec);
    1528     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1607void setJSTestObjReflectedBooleanAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1608{
     1609    JSValue value = JSValue::decode(encodedValue);
     1610    UNUSED_PARAM(exec);
     1611    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1612    if (!castedThis) {
     1613        throwVMTypeError(exec);
     1614        return;
     1615    }
    15291616    TestObj& impl = castedThis->impl();
    15301617    bool nativeValue(value.toBoolean(exec));
     
    15351622
    15361623
    1537 void setJSTestObjReflectedURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1538 {
    1539     UNUSED_PARAM(exec);
    1540     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1624void setJSTestObjReflectedURLAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1625{
     1626    JSValue value = JSValue::decode(encodedValue);
     1627    UNUSED_PARAM(exec);
     1628    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1629    if (!castedThis) {
     1630        throwVMTypeError(exec);
     1631        return;
     1632    }
    15411633    TestObj& impl = castedThis->impl();
    15421634    const String& nativeValue(valueToStringWithNullCheck(exec, value));
     
    15471639
    15481640
    1549 void setJSTestObjReflectedStringAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1550 {
    1551     UNUSED_PARAM(exec);
    1552     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1641void setJSTestObjReflectedStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1642{
     1643    JSValue value = JSValue::decode(encodedValue);
     1644    UNUSED_PARAM(exec);
     1645    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1646    if (!castedThis) {
     1647        throwVMTypeError(exec);
     1648        return;
     1649    }
    15531650    TestObj& impl = castedThis->impl();
    15541651    const String& nativeValue(valueToStringWithNullCheck(exec, value));
     
    15591656
    15601657
    1561 void setJSTestObjReflectedCustomIntegralAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1562 {
    1563     UNUSED_PARAM(exec);
    1564     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1658void setJSTestObjReflectedCustomIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1659{
     1660    JSValue value = JSValue::decode(encodedValue);
     1661    UNUSED_PARAM(exec);
     1662    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1663    if (!castedThis) {
     1664        throwVMTypeError(exec);
     1665        return;
     1666    }
    15651667    TestObj& impl = castedThis->impl();
    15661668    int nativeValue(toInt32(exec, value, NormalConversion));
     
    15711673
    15721674
    1573 void setJSTestObjReflectedCustomBooleanAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1574 {
    1575     UNUSED_PARAM(exec);
    1576     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1675void setJSTestObjReflectedCustomBooleanAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1676{
     1677    JSValue value = JSValue::decode(encodedValue);
     1678    UNUSED_PARAM(exec);
     1679    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1680    if (!castedThis) {
     1681        throwVMTypeError(exec);
     1682        return;
     1683    }
    15771684    TestObj& impl = castedThis->impl();
    15781685    bool nativeValue(value.toBoolean(exec));
     
    15831690
    15841691
    1585 void setJSTestObjReflectedCustomURLAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1586 {
    1587     UNUSED_PARAM(exec);
    1588     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1692void setJSTestObjReflectedCustomURLAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1693{
     1694    JSValue value = JSValue::decode(encodedValue);
     1695    UNUSED_PARAM(exec);
     1696    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1697    if (!castedThis) {
     1698        throwVMTypeError(exec);
     1699        return;
     1700    }
    15891701    TestObj& impl = castedThis->impl();
    15901702    const String& nativeValue(valueToStringWithNullCheck(exec, value));
     
    15951707
    15961708
    1597 void setJSTestObjTypedArrayAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1598 {
    1599     UNUSED_PARAM(exec);
    1600     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1709void setJSTestObjTypedArrayAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1710{
     1711    JSValue value = JSValue::decode(encodedValue);
     1712    UNUSED_PARAM(exec);
     1713    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1714    if (!castedThis) {
     1715        throwVMTypeError(exec);
     1716        return;
     1717    }
    16011718    TestObj& impl = castedThis->impl();
    16021719    RefPtr<Float32Array> nativeValue(toFloat32Array(value));
     
    16071724
    16081725
    1609 void setJSTestObjAttrWithGetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    1610 {
    1611     UNUSED_PARAM(exec);
    1612     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1726void setJSTestObjAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1727{
     1728    JSValue value = JSValue::decode(encodedValue);
     1729    UNUSED_PARAM(exec);
     1730    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1731    if (!castedThis) {
     1732        throwVMTypeError(exec);
     1733        return;
     1734    }
    16131735    TestObj& impl = castedThis->impl();
    16141736    int nativeValue(toInt32(exec, value, NormalConversion));
     
    16191741
    16201742
    1621 void setJSTestObjAttrWithSetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    1622 {
    1623     UNUSED_PARAM(exec);
    1624     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1743void setJSTestObjAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1744{
     1745    JSValue value = JSValue::decode(encodedValue);
     1746    UNUSED_PARAM(exec);
     1747    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1748    if (!castedThis) {
     1749        throwVMTypeError(exec);
     1750        return;
     1751    }
    16251752    TestObj& impl = castedThis->impl();
    16261753    ExceptionCode ec = 0;
     
    16331760
    16341761
    1635 void setJSTestObjStringAttrWithGetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    1636 {
    1637     UNUSED_PARAM(exec);
    1638     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1762void setJSTestObjStringAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1763{
     1764    JSValue value = JSValue::decode(encodedValue);
     1765    UNUSED_PARAM(exec);
     1766    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1767    if (!castedThis) {
     1768        throwVMTypeError(exec);
     1769        return;
     1770    }
    16391771    TestObj& impl = castedThis->impl();
    16401772    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    16451777
    16461778
    1647 void setJSTestObjStringAttrWithSetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    1648 {
    1649     UNUSED_PARAM(exec);
    1650     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1779void setJSTestObjStringAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1780{
     1781    JSValue value = JSValue::decode(encodedValue);
     1782    UNUSED_PARAM(exec);
     1783    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1784    if (!castedThis) {
     1785        throwVMTypeError(exec);
     1786        return;
     1787    }
    16511788    TestObj& impl = castedThis->impl();
    16521789    ExceptionCode ec = 0;
     
    16591796
    16601797
    1661 void setJSTestObjCustomAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    1662 {
    1663     UNUSED_PARAM(exec);
    1664     jsCast<JSTestObj*>(thisObject)->setCustomAttr(exec, value);
    1665 }
    1666 
    1667 
    1668 void setJSTestObjWithScriptStateAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1669 {
    1670     UNUSED_PARAM(exec);
    1671     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1798void setJSTestObjCustomAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1799{
     1800    JSValue value = JSValue::decode(encodedValue);
     1801    UNUSED_PARAM(exec);
     1802    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1803    if (!castedThis) {
     1804        throwVMTypeError(exec);
     1805        return;
     1806    }
     1807    castedThis->setCustomAttr(exec, value);
     1808}
     1809
     1810
     1811void setJSTestObjWithScriptStateAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1812{
     1813    JSValue value = JSValue::decode(encodedValue);
     1814    UNUSED_PARAM(exec);
     1815    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1816    if (!castedThis) {
     1817        throwVMTypeError(exec);
     1818        return;
     1819    }
    16721820    TestObj& impl = castedThis->impl();
    16731821    int nativeValue(toInt32(exec, value, NormalConversion));
     
    16781826
    16791827
    1680 void setJSTestObjWithScriptExecutionContextAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1681 {
    1682     UNUSED_PARAM(exec);
    1683     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1828void setJSTestObjWithScriptExecutionContextAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1829{
     1830    JSValue value = JSValue::decode(encodedValue);
     1831    UNUSED_PARAM(exec);
     1832    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1833    if (!castedThis) {
     1834        throwVMTypeError(exec);
     1835        return;
     1836    }
    16841837    TestObj& impl = castedThis->impl();
    16851838    TestObj* nativeValue(toTestObj(value));
     
    16931846
    16941847
    1695 void setJSTestObjWithScriptStateAttributeRaises(ExecState* exec, JSObject* thisObject, JSValue value)
    1696 {
    1697     UNUSED_PARAM(exec);
    1698     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1848void setJSTestObjWithScriptStateAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1849{
     1850    JSValue value = JSValue::decode(encodedValue);
     1851    UNUSED_PARAM(exec);
     1852    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1853    if (!castedThis) {
     1854        throwVMTypeError(exec);
     1855        return;
     1856    }
    16991857    TestObj& impl = castedThis->impl();
    17001858    TestObj* nativeValue(toTestObj(value));
     
    17051863
    17061864
    1707 void setJSTestObjWithScriptExecutionContextAttributeRaises(ExecState* exec, JSObject* thisObject, JSValue value)
    1708 {
    1709     UNUSED_PARAM(exec);
    1710     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1865void setJSTestObjWithScriptExecutionContextAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1866{
     1867    JSValue value = JSValue::decode(encodedValue);
     1868    UNUSED_PARAM(exec);
     1869    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1870    if (!castedThis) {
     1871        throwVMTypeError(exec);
     1872        return;
     1873    }
    17111874    TestObj& impl = castedThis->impl();
    17121875    TestObj* nativeValue(toTestObj(value));
     
    17201883
    17211884
    1722 void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1723 {
    1724     UNUSED_PARAM(exec);
    1725     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1885void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1886{
     1887    JSValue value = JSValue::decode(encodedValue);
     1888    UNUSED_PARAM(exec);
     1889    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1890    if (!castedThis) {
     1891        throwVMTypeError(exec);
     1892        return;
     1893    }
    17261894    TestObj& impl = castedThis->impl();
    17271895    TestObj* nativeValue(toTestObj(value));
     
    17351903
    17361904
    1737 void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(ExecState* exec, JSObject* thisObject, JSValue value)
    1738 {
    1739     UNUSED_PARAM(exec);
    1740     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1905void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1906{
     1907    JSValue value = JSValue::decode(encodedValue);
     1908    UNUSED_PARAM(exec);
     1909    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1910    if (!castedThis) {
     1911        throwVMTypeError(exec);
     1912        return;
     1913    }
    17411914    TestObj& impl = castedThis->impl();
    17421915    TestObj* nativeValue(toTestObj(value));
     
    17501923
    17511924
    1752 void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1753 {
    1754     UNUSED_PARAM(exec);
    1755     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1925void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1926{
     1927    JSValue value = JSValue::decode(encodedValue);
     1928    UNUSED_PARAM(exec);
     1929    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1930    if (!castedThis) {
     1931        throwVMTypeError(exec);
     1932        return;
     1933    }
    17561934    TestObj& impl = castedThis->impl();
    17571935    TestObj* nativeValue(toTestObj(value));
     
    17651943
    17661944
    1767 void setJSTestObjWithScriptArgumentsAndCallStackAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1768 {
    1769     UNUSED_PARAM(exec);
    1770     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1945void setJSTestObjWithScriptArgumentsAndCallStackAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1946{
     1947    JSValue value = JSValue::decode(encodedValue);
     1948    UNUSED_PARAM(exec);
     1949    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1950    if (!castedThis) {
     1951        throwVMTypeError(exec);
     1952        return;
     1953    }
    17711954    TestObj& impl = castedThis->impl();
    17721955    TestObj* nativeValue(toTestObj(value));
     
    17781961
    17791962#if ENABLE(Condition1)
    1780 void setJSTestObjConditionalAttr1(ExecState* exec, JSObject* thisObject, JSValue value)
    1781 {
    1782     UNUSED_PARAM(exec);
    1783     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1963void setJSTestObjConditionalAttr1(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1964{
     1965    JSValue value = JSValue::decode(encodedValue);
     1966    UNUSED_PARAM(exec);
     1967    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1968    if (!castedThis) {
     1969        throwVMTypeError(exec);
     1970        return;
     1971    }
    17841972    TestObj& impl = castedThis->impl();
    17851973    int nativeValue(toInt32(exec, value, NormalConversion));
     
    17921980
    17931981#if ENABLE(Condition1) && ENABLE(Condition2)
    1794 void setJSTestObjConditionalAttr2(ExecState* exec, JSObject* thisObject, JSValue value)
    1795 {
    1796     UNUSED_PARAM(exec);
    1797     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     1982void setJSTestObjConditionalAttr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     1983{
     1984    JSValue value = JSValue::decode(encodedValue);
     1985    UNUSED_PARAM(exec);
     1986    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     1987    if (!castedThis) {
     1988        throwVMTypeError(exec);
     1989        return;
     1990    }
    17981991    TestObj& impl = castedThis->impl();
    17991992    int nativeValue(toInt32(exec, value, NormalConversion));
     
    18061999
    18072000#if ENABLE(Condition1) || ENABLE(Condition2)
    1808 void setJSTestObjConditionalAttr3(ExecState* exec, JSObject* thisObject, JSValue value)
    1809 {
    1810     UNUSED_PARAM(exec);
    1811     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2001void setJSTestObjConditionalAttr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2002{
     2003    JSValue value = JSValue::decode(encodedValue);
     2004    UNUSED_PARAM(exec);
     2005    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2006    if (!castedThis) {
     2007        throwVMTypeError(exec);
     2008        return;
     2009    }
    18122010    TestObj& impl = castedThis->impl();
    18132011    int nativeValue(toInt32(exec, value, NormalConversion));
     
    18202018
    18212019#if ENABLE(Condition1)
    1822 void setJSTestObjConditionalAttr4Constructor(ExecState* exec, JSObject* thisObject, JSValue value)
    1823 {
    1824     UNUSED_PARAM(exec);
     2020void setJSTestObjConditionalAttr4Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2021{
     2022    JSValue value = JSValue::decode(encodedValue);
     2023    UNUSED_PARAM(exec);
     2024    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2025    if (!castedThis) {
     2026        throwVMTypeError(exec);
     2027        return;
     2028    }
    18252029    // Shadowing a built-in constructor
    1826     jsCast<JSTestObj*>(thisObject)->putDirect(exec->vm(), Identifier(exec, "conditionalAttr4"), value);
     2030    castedThis->putDirect(exec->vm(), Identifier(exec, "conditionalAttr4"), value);
    18272031}
    18282032
     
    18302034
    18312035#if ENABLE(Condition1) && ENABLE(Condition2)
    1832 void setJSTestObjConditionalAttr5Constructor(ExecState* exec, JSObject* thisObject, JSValue value)
    1833 {
    1834     UNUSED_PARAM(exec);
     2036void setJSTestObjConditionalAttr5Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2037{
     2038    JSValue value = JSValue::decode(encodedValue);
     2039    UNUSED_PARAM(exec);
     2040    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2041    if (!castedThis) {
     2042        throwVMTypeError(exec);
     2043        return;
     2044    }
    18352045    // Shadowing a built-in constructor
    1836     jsCast<JSTestObj*>(thisObject)->putDirect(exec->vm(), Identifier(exec, "conditionalAttr5"), value);
     2046    castedThis->putDirect(exec->vm(), Identifier(exec, "conditionalAttr5"), value);
    18372047}
    18382048
     
    18402050
    18412051#if ENABLE(Condition1) || ENABLE(Condition2)
    1842 void setJSTestObjConditionalAttr6Constructor(ExecState* exec, JSObject* thisObject, JSValue value)
    1843 {
    1844     UNUSED_PARAM(exec);
     2052void setJSTestObjConditionalAttr6Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2053{
     2054    JSValue value = JSValue::decode(encodedValue);
     2055    UNUSED_PARAM(exec);
     2056    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2057    if (!castedThis) {
     2058        throwVMTypeError(exec);
     2059        return;
     2060    }
    18452061    // Shadowing a built-in constructor
    1846     jsCast<JSTestObj*>(thisObject)->putDirect(exec->vm(), Identifier(exec, "conditionalAttr6"), value);
    1847 }
    1848 
    1849 #endif
    1850 
    1851 void setJSTestObjAnyAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1852 {
    1853     UNUSED_PARAM(exec);
    1854     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2062    castedThis->putDirect(exec->vm(), Identifier(exec, "conditionalAttr6"), value);
     2063}
     2064
     2065#endif
     2066
     2067void setJSTestObjAnyAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2068{
     2069    JSValue value = JSValue::decode(encodedValue);
     2070    UNUSED_PARAM(exec);
     2071    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2072    if (!castedThis) {
     2073        throwVMTypeError(exec);
     2074        return;
     2075    }
    18552076    TestObj& impl = castedThis->impl();
    18562077    Deprecated::ScriptValue nativeValue(exec->vm(), value);
     
    18612082
    18622083
    1863 void setJSTestObjMutablePoint(ExecState* exec, JSObject* thisObject, JSValue value)
    1864 {
    1865     UNUSED_PARAM(exec);
    1866     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2084void setJSTestObjMutablePoint(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2085{
     2086    JSValue value = JSValue::decode(encodedValue);
     2087    UNUSED_PARAM(exec);
     2088    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2089    if (!castedThis) {
     2090        throwVMTypeError(exec);
     2091        return;
     2092    }
    18672093    TestObj& impl = castedThis->impl();
    18682094    SVGPropertyTearOff<SVGPoint>* nativeValue(toSVGPoint(value));
     
    18732099
    18742100
    1875 void setJSTestObjImmutablePoint(ExecState* exec, JSObject* thisObject, JSValue value)
    1876 {
    1877     UNUSED_PARAM(exec);
    1878     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2101void setJSTestObjImmutablePoint(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2102{
     2103    JSValue value = JSValue::decode(encodedValue);
     2104    UNUSED_PARAM(exec);
     2105    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2106    if (!castedThis) {
     2107        throwVMTypeError(exec);
     2108        return;
     2109    }
    18792110    TestObj& impl = castedThis->impl();
    18802111    SVGPropertyTearOff<SVGPoint>* nativeValue(toSVGPoint(value));
     
    18852116
    18862117
    1887 void setJSTestObjStrawberry(ExecState* exec, JSObject* thisObject, JSValue value)
    1888 {
    1889     UNUSED_PARAM(exec);
    1890     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2118void setJSTestObjStrawberry(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2119{
     2120    JSValue value = JSValue::decode(encodedValue);
     2121    UNUSED_PARAM(exec);
     2122    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2123    if (!castedThis) {
     2124        throwVMTypeError(exec);
     2125        return;
     2126    }
    18912127    TestObj& impl = castedThis->impl();
    18922128    int nativeValue(toInt32(exec, value, NormalConversion));
     
    18972133
    18982134
    1899 void setJSTestObjStrictFloat(ExecState* exec, JSObject* thisObject, JSValue value)
    1900 {
    1901     UNUSED_PARAM(exec);
    1902     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2135void setJSTestObjStrictFloat(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2136{
     2137    JSValue value = JSValue::decode(encodedValue);
     2138    UNUSED_PARAM(exec);
     2139    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2140    if (!castedThis) {
     2141        throwVMTypeError(exec);
     2142        return;
     2143    }
    19032144    TestObj& impl = castedThis->impl();
    19042145    float nativeValue(value.toFloat(exec));
     
    19092150
    19102151
    1911 void setJSTestObjId(ExecState* exec, JSObject* thisObject, JSValue value)
    1912 {
    1913     UNUSED_PARAM(exec);
    1914     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2152void setJSTestObjId(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2153{
     2154    JSValue value = JSValue::decode(encodedValue);
     2155    UNUSED_PARAM(exec);
     2156    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2157    if (!castedThis) {
     2158        throwVMTypeError(exec);
     2159        return;
     2160    }
    19152161    TestObj& impl = castedThis->impl();
    19162162    int nativeValue(toInt32(exec, value, NormalConversion));
     
    19212167
    19222168
    1923 void setJSTestObjReplaceableAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1924 {
    1925     UNUSED_PARAM(exec);
     2169void setJSTestObjReplaceableAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2170{
     2171    JSValue value = JSValue::decode(encodedValue);
     2172    UNUSED_PARAM(exec);
     2173    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2174    if (!castedThis) {
     2175        throwVMTypeError(exec);
     2176        return;
     2177    }
    19262178    // Shadowing a built-in object
    1927     jsCast<JSTestObj*>(thisObject)->putDirect(exec->vm(), Identifier(exec, "replaceableAttribute"), value);
    1928 }
    1929 
    1930 
    1931 void setJSTestObjNullableLongSettableAttribute(ExecState* exec, JSObject* thisObject, JSValue value)
    1932 {
    1933     UNUSED_PARAM(exec);
    1934     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2179    castedThis->putDirect(exec->vm(), Identifier(exec, "replaceableAttribute"), value);
     2180}
     2181
     2182
     2183void setJSTestObjNullableLongSettableAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2184{
     2185    JSValue value = JSValue::decode(encodedValue);
     2186    UNUSED_PARAM(exec);
     2187    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2188    if (!castedThis) {
     2189        throwVMTypeError(exec);
     2190        return;
     2191    }
    19352192    TestObj& impl = castedThis->impl();
    19362193    int nativeValue(toInt32(exec, value, NormalConversion));
     
    19412198
    19422199
    1943 void setJSTestObjNullableStringValue(ExecState* exec, JSObject* thisObject, JSValue value)
    1944 {
    1945     UNUSED_PARAM(exec);
    1946     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2200void setJSTestObjNullableStringValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2201{
     2202    JSValue value = JSValue::decode(encodedValue);
     2203    UNUSED_PARAM(exec);
     2204    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2205    if (!castedThis) {
     2206        throwVMTypeError(exec);
     2207        return;
     2208    }
    19472209    TestObj& impl = castedThis->impl();
    19482210    int nativeValue(toInt32(exec, value, NormalConversion));
     
    19532215
    19542216
    1955 void setJSTestObjAttributeWithReservedEnumType(ExecState* exec, JSObject* thisObject, JSValue value)
    1956 {
    1957     UNUSED_PARAM(exec);
    1958     JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
     2217void setJSTestObjAttributeWithReservedEnumType(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     2218{
     2219    JSValue value = JSValue::decode(encodedValue);
     2220    UNUSED_PARAM(exec);
     2221    JSTestObj* castedThis = jsDynamicCast<JSTestObj*>(JSValue::decode(thisValue));
     2222    if (!castedThis) {
     2223        throwVMTypeError(exec);
     2224        return;
     2225    }
    19592226    TestObj& impl = castedThis->impl();
    19602227    const String nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h

    r160208 r161009  
    240240JSC::EncodedJSValue jsTestObjConstructorStaticReadOnlyLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    241241JSC::EncodedJSValue jsTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    242 void setJSTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     242void setJSTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    243243JSC::EncodedJSValue jsTestObjConstructorTestSubObj(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    244244JSC::EncodedJSValue jsTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    245 void setJSTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     245void setJSTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    246246JSC::EncodedJSValue jsTestObjEnumAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    247 void setJSTestObjEnumAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     247void setJSTestObjEnumAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    248248JSC::EncodedJSValue jsTestObjByteAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    249 void setJSTestObjByteAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     249void setJSTestObjByteAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    250250JSC::EncodedJSValue jsTestObjOctetAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    251 void setJSTestObjOctetAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     251void setJSTestObjOctetAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    252252JSC::EncodedJSValue jsTestObjShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    253 void setJSTestObjShortAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     253void setJSTestObjShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    254254JSC::EncodedJSValue jsTestObjUnsignedShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    255 void setJSTestObjUnsignedShortAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     255void setJSTestObjUnsignedShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    256256JSC::EncodedJSValue jsTestObjLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    257 void setJSTestObjLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     257void setJSTestObjLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    258258JSC::EncodedJSValue jsTestObjLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    259 void setJSTestObjLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     259void setJSTestObjLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    260260JSC::EncodedJSValue jsTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    261 void setJSTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     261void setJSTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    262262JSC::EncodedJSValue jsTestObjStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    263 void setJSTestObjStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     263void setJSTestObjStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    264264JSC::EncodedJSValue jsTestObjTestObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    265 void setJSTestObjTestObjAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     265void setJSTestObjTestObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    266266JSC::EncodedJSValue jsTestObjXMLObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    267 void setJSTestObjXMLObjAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     267void setJSTestObjXMLObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    268268JSC::EncodedJSValue jsTestObjCreate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    269 void setJSTestObjCreate(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     269void setJSTestObjCreate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    270270JSC::EncodedJSValue jsTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    271 void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     271void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    272272JSC::EncodedJSValue jsTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    273 void setJSTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     273void setJSTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    274274JSC::EncodedJSValue jsTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    275 void setJSTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     275void setJSTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    276276JSC::EncodedJSValue jsTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    277 void setJSTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     277void setJSTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    278278JSC::EncodedJSValue jsTestObjReflectedURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    279 void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     279void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    280280JSC::EncodedJSValue jsTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    281 void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     281void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    282282JSC::EncodedJSValue jsTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    283 void setJSTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     283void setJSTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    284284JSC::EncodedJSValue jsTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    285 void setJSTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     285void setJSTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    286286JSC::EncodedJSValue jsTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    287 void setJSTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     287void setJSTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    288288JSC::EncodedJSValue jsTestObjTypedArrayAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    289 void setJSTestObjTypedArrayAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     289void setJSTestObjTypedArrayAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    290290JSC::EncodedJSValue jsTestObjAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    291 void setJSTestObjAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     291void setJSTestObjAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    292292JSC::EncodedJSValue jsTestObjAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    293 void setJSTestObjAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     293void setJSTestObjAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    294294JSC::EncodedJSValue jsTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    295 void setJSTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     295void setJSTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    296296JSC::EncodedJSValue jsTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    297 void setJSTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     297void setJSTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    298298JSC::EncodedJSValue jsTestObjCustomAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    299 void setJSTestObjCustomAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     299void setJSTestObjCustomAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    300300JSC::EncodedJSValue jsTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    301 void setJSTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     301void setJSTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    302302JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    303 void setJSTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     303void setJSTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    304304JSC::EncodedJSValue jsTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    305 void setJSTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     305void setJSTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    306306JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    307 void setJSTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     307void setJSTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    308308JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    309 void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     309void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    310310JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    311 void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     311void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    312312JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    313 void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     313void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    314314JSC::EncodedJSValue jsTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    315 void setJSTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     315void setJSTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    316316#if ENABLE(Condition1)
    317317JSC::EncodedJSValue jsTestObjConditionalAttr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    318 void setJSTestObjConditionalAttr1(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     318void setJSTestObjConditionalAttr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    319319#endif
    320320#if ENABLE(Condition1) && ENABLE(Condition2)
    321321JSC::EncodedJSValue jsTestObjConditionalAttr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    322 void setJSTestObjConditionalAttr2(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     322void setJSTestObjConditionalAttr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    323323#endif
    324324#if ENABLE(Condition1) || ENABLE(Condition2)
    325325JSC::EncodedJSValue jsTestObjConditionalAttr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    326 void setJSTestObjConditionalAttr3(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     326void setJSTestObjConditionalAttr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    327327#endif
    328328#if ENABLE(Condition1)
    329329JSC::EncodedJSValue jsTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    330 void setJSTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     330void setJSTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    331331#endif
    332332#if ENABLE(Condition1) && ENABLE(Condition2)
    333333JSC::EncodedJSValue jsTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    334 void setJSTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     334void setJSTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    335335#endif
    336336#if ENABLE(Condition1) || ENABLE(Condition2)
    337337JSC::EncodedJSValue jsTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    338 void setJSTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     338void setJSTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    339339#endif
    340340JSC::EncodedJSValue jsTestObjCachedAttribute1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    341341JSC::EncodedJSValue jsTestObjCachedAttribute2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    342342JSC::EncodedJSValue jsTestObjAnyAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    343 void setJSTestObjAnyAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     343void setJSTestObjAnyAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    344344JSC::EncodedJSValue jsTestObjContentDocument(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    345345JSC::EncodedJSValue jsTestObjMutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    346 void setJSTestObjMutablePoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     346void setJSTestObjMutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    347347JSC::EncodedJSValue jsTestObjImmutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    348 void setJSTestObjImmutablePoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     348void setJSTestObjImmutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    349349JSC::EncodedJSValue jsTestObjStrawberry(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    350 void setJSTestObjStrawberry(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     350void setJSTestObjStrawberry(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    351351JSC::EncodedJSValue jsTestObjStrictFloat(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    352 void setJSTestObjStrictFloat(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     352void setJSTestObjStrictFloat(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    353353JSC::EncodedJSValue jsTestObjDescription(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    354354JSC::EncodedJSValue jsTestObjId(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    355 void setJSTestObjId(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     355void setJSTestObjId(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    356356JSC::EncodedJSValue jsTestObjHash(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    357357JSC::EncodedJSValue jsTestObjReplaceableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    358 void setJSTestObjReplaceableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     358void setJSTestObjReplaceableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    359359JSC::EncodedJSValue jsTestObjNullableDoubleAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    360360JSC::EncodedJSValue jsTestObjNullableLongAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
     
    362362JSC::EncodedJSValue jsTestObjNullableStringAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    363363JSC::EncodedJSValue jsTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    364 void setJSTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     364void setJSTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    365365JSC::EncodedJSValue jsTestObjNullableStringValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    366 void setJSTestObjNullableStringValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     366void setJSTestObjNullableStringValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    367367JSC::EncodedJSValue jsTestObjAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    368368JSC::EncodedJSValue jsTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    369 void setJSTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     369void setJSTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    370370JSC::EncodedJSValue jsTestObjConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    371371// Constants
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp

    r160879 r161009  
    216216}
    217217
    218 void setJSTestSerializedScriptValueInterfaceValue(ExecState* exec, JSObject* thisObject, JSValue value)
    219 {
    220     UNUSED_PARAM(exec);
    221     JSTestSerializedScriptValueInterface* castedThis = jsCast<JSTestSerializedScriptValueInterface*>(thisObject);
     218void setJSTestSerializedScriptValueInterfaceValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     219{
     220    JSValue value = JSValue::decode(encodedValue);
     221    UNUSED_PARAM(exec);
     222    JSTestSerializedScriptValueInterface* castedThis = jsDynamicCast<JSTestSerializedScriptValueInterface*>(JSValue::decode(thisValue));
     223    if (!castedThis) {
     224        throwVMTypeError(exec);
     225        return;
     226    }
    222227    TestSerializedScriptValueInterface& impl = castedThis->impl();
    223228    RefPtr<SerializedScriptValue> nativeValue(SerializedScriptValue::create(exec, value, 0, 0));
     
    228233
    229234
    230 void setJSTestSerializedScriptValueInterfaceCachedValue(ExecState* exec, JSObject* thisObject, JSValue value)
    231 {
    232     UNUSED_PARAM(exec);
    233     JSTestSerializedScriptValueInterface* castedThis = jsCast<JSTestSerializedScriptValueInterface*>(thisObject);
     235void setJSTestSerializedScriptValueInterfaceCachedValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     236{
     237    JSValue value = JSValue::decode(encodedValue);
     238    UNUSED_PARAM(exec);
     239    JSTestSerializedScriptValueInterface* castedThis = jsDynamicCast<JSTestSerializedScriptValueInterface*>(JSValue::decode(thisValue));
     240    if (!castedThis) {
     241        throwVMTypeError(exec);
     242        return;
     243    }
    234244    TestSerializedScriptValueInterface& impl = castedThis->impl();
    235245    RefPtr<SerializedScriptValue> nativeValue(SerializedScriptValue::create(exec, value, 0, 0));
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h

    r160208 r161009  
    148148
    149149JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    150 void setJSTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     150void setJSTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    151151JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceReadonlyValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    152152JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    153 void setJSTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     153void setJSTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    154154JSC::EncodedJSValue jsTestSerializedScriptValueInterfacePorts(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    155155JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp

    r160879 r161009  
    282282}
    283283
    284 void setJSTestTypedefsUnsignedLongLongAttr(ExecState* exec, JSObject* thisObject, JSValue value)
    285 {
    286     UNUSED_PARAM(exec);
    287     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     284void setJSTestTypedefsUnsignedLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     285{
     286    JSValue value = JSValue::decode(encodedValue);
     287    UNUSED_PARAM(exec);
     288    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     289    if (!castedThis) {
     290        throwVMTypeError(exec);
     291        return;
     292    }
    288293    TestTypedefs& impl = castedThis->impl();
    289294    unsigned long long nativeValue(toUInt64(exec, value, NormalConversion));
     
    294299
    295300
    296 void setJSTestTypedefsImmutableSerializedScriptValue(ExecState* exec, JSObject* thisObject, JSValue value)
    297 {
    298     UNUSED_PARAM(exec);
    299     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     301void setJSTestTypedefsImmutableSerializedScriptValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     302{
     303    JSValue value = JSValue::decode(encodedValue);
     304    UNUSED_PARAM(exec);
     305    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     306    if (!castedThis) {
     307        throwVMTypeError(exec);
     308        return;
     309    }
    300310    TestTypedefs& impl = castedThis->impl();
    301311    RefPtr<SerializedScriptValue> nativeValue(SerializedScriptValue::create(exec, value, 0, 0));
     
    306316
    307317
    308 void setJSTestTypedefsAttrWithGetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    309 {
    310     UNUSED_PARAM(exec);
    311     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     318void setJSTestTypedefsAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     319{
     320    JSValue value = JSValue::decode(encodedValue);
     321    UNUSED_PARAM(exec);
     322    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     323    if (!castedThis) {
     324        throwVMTypeError(exec);
     325        return;
     326    }
    312327    TestTypedefs& impl = castedThis->impl();
    313328    int nativeValue(toInt32(exec, value, NormalConversion));
     
    318333
    319334
    320 void setJSTestTypedefsAttrWithSetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    321 {
    322     UNUSED_PARAM(exec);
    323     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     335void setJSTestTypedefsAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     336{
     337    JSValue value = JSValue::decode(encodedValue);
     338    UNUSED_PARAM(exec);
     339    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     340    if (!castedThis) {
     341        throwVMTypeError(exec);
     342        return;
     343    }
    324344    TestTypedefs& impl = castedThis->impl();
    325345    ExceptionCode ec = 0;
     
    332352
    333353
    334 void setJSTestTypedefsStringAttrWithGetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    335 {
    336     UNUSED_PARAM(exec);
    337     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     354void setJSTestTypedefsStringAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     355{
     356    JSValue value = JSValue::decode(encodedValue);
     357    UNUSED_PARAM(exec);
     358    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     359    if (!castedThis) {
     360        throwVMTypeError(exec);
     361        return;
     362    }
    338363    TestTypedefs& impl = castedThis->impl();
    339364    const String& nativeValue(value.isEmpty() ? String() : value.toString(exec)->value(exec));
     
    344369
    345370
    346 void setJSTestTypedefsStringAttrWithSetterException(ExecState* exec, JSObject* thisObject, JSValue value)
    347 {
    348     UNUSED_PARAM(exec);
    349     JSTestTypedefs* castedThis = jsCast<JSTestTypedefs*>(thisObject);
     371void setJSTestTypedefsStringAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
     372{
     373    JSValue value = JSValue::decode(encodedValue);
     374    UNUSED_PARAM(exec);
     375    JSTestTypedefs* castedThis = jsDynamicCast<JSTestTypedefs*>(JSValue::decode(thisValue));
     376    if (!castedThis) {
     377        throwVMTypeError(exec);
     378        return;
     379    }
    350380    TestTypedefs& impl = castedThis->impl();
    351381    ExceptionCode ec = 0;
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h

    r160208 r161009  
    157157
    158158JSC::EncodedJSValue jsTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    159 void setJSTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     159void setJSTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    160160JSC::EncodedJSValue jsTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    161 void setJSTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     161void setJSTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    162162JSC::EncodedJSValue jsTestTypedefsConstructorTestSubObj(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    163163JSC::EncodedJSValue jsTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    164 void setJSTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     164void setJSTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    165165JSC::EncodedJSValue jsTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    166 void setJSTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     166void setJSTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    167167JSC::EncodedJSValue jsTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    168 void setJSTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     168void setJSTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    169169JSC::EncodedJSValue jsTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    170 void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
     170void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
    171171JSC::EncodedJSValue jsTestTypedefsConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    172172
Note: See TracChangeset for help on using the changeset viewer.