Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (175478 => 175479)
--- trunk/Source/_javascript_Core/ChangeLog 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-11-03 19:36:16 UTC (rev 175479)
@@ -1,5 +1,44 @@
2014-11-03 Joseph Pecoraro <pecor...@apple.com>
+ Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
+ https://bugs.webkit.org/show_bug.cgi?id=138221
+
+ Reviewed by Timothy Hatcher.
+
+ The RWIProtocol APIs will now raise exceptions when:
+
+ - any properties are set on a type with a nil value or key (handled by RWIProtocolJSONObject)
+ - required parameters in type constructors have nil value
+ - required or optional command return parameters have nil values
+ - required or optional event parameters have nil values
+
+ The exceptions include the name of the field when possible.
+
+ * inspector/scripts/codegen/generate_objective_c.py:
+ (ObjCGenerator.is_type_objc_pointer_type):
+ Provide a quick check to see if type would be a pointer or not
+ in the ObjC API. Enums for example are not pointers in the API
+ because we manage converting them to/from strings.
+
+ * inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py:
+ (ObjectiveCConfigurationImplementationGenerator._generate_success_block_for_command):
+ * inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py:
+ (ObjectiveCFrontendDispatcherImplementationGenerator._generate_event):
+ * inspector/scripts/codegen/generate_objective_c_types_implementation.py:
+ (ObjectiveCTypesImplementationGenerator._generate_init_method_for_required_members):
+ (ObjectiveCTypesImplementationGenerator._generate_setter_for_member):
+ Throw exceptions when nil values are disallowed.
+
+ * inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
+ * inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
+ * inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
+ * inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
+ * inspector/scripts/tests/expected/type-declaration-object-type.json-result:
+ * inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
+ Rebaseline tests which include the exception raise calls.
+
+2014-11-03 Joseph Pecoraro <pecor...@apple.com>
+
Web Inspector: ALTERNATE_DISPATCHERS Let the frontend know about extra agents
https://bugs.webkit.org/show_bug.cgi?id=138236
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c.py (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c.py 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c.py 2014-11-03 19:36:16 UTC (rev 175479)
@@ -246,6 +246,20 @@
return None
@staticmethod
+ def is_type_objc_pointer_type(_type):
+ if (isinstance(_type, AliasedType)):
+ _type = _type.aliased_type
+ if (isinstance(_type, PrimitiveType)):
+ return _type.raw_name() in ['string', 'array', 'any', 'object']
+ if (isinstance(_type, EnumType)):
+ return False
+ if (isinstance(_type, ObjectType)):
+ return True
+ if (isinstance(_type, ArrayType)):
+ return True
+ return None
+
+ @staticmethod
def objc_class_for_type(_type):
if (isinstance(_type, AliasedType)):
_type = _type.aliased_type
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py 2014-11-03 19:36:16 UTC (rev 175479)
@@ -99,8 +99,6 @@
def _generate_success_block_for_command(self, domain, command):
lines = []
- # FIXME: <https://webkit.org/b/138221> Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
-
if command.return_parameters:
success_block_parameters = []
for parameter in command.return_parameters:
@@ -113,6 +111,17 @@
if command.return_parameters:
lines.append(' RefPtr<InspectorObject> resultObject = InspectorObject::create();')
+
+ required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters)
+ for parameter in required_pointer_parameters:
+ var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
+ lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name))
+
+ optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters)
+ for parameter in optional_pointer_parameters:
+ var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
+ lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name))
+
for parameter in command.return_parameters:
keyed_set_method = Generator.keyed_set_method_for_type(parameter.type)
var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py 2014-11-03 19:36:16 UTC (rev 175479)
@@ -101,6 +101,20 @@
lines.append(' if (!frontendChannel)')
lines.append(' return;')
lines.append('')
+
+ required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters)
+ for parameter in required_pointer_parameters:
+ var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
+ lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name))
+
+ optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters)
+ for parameter in optional_pointer_parameters:
+ var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
+ lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name))
+
+ if required_pointer_parameters or optional_pointer_parameters:
+ lines.append('')
+
lines.append(' RefPtr<InspectorObject> jsonMessage = InspectorObject::create();')
lines.append(' jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("%s.%s"));' % (domain.domain_name, event.event_name))
if event.event_parameters:
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_types_implementation.py (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_types_implementation.py 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objective_c_types_implementation.py 2014-11-03 19:36:16 UTC (rev 175479)
@@ -105,7 +105,6 @@
var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name)
pairs.append('%s:(%s)%s' % (var_name, objc_type, var_name))
pairs[0] = ucfirst(pairs[0])
- # FIXME: <https://webkit.org/b/138221> Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
lines = []
lines.append('- (instancetype)initWith%s;' % ' '.join(pairs))
lines.append('{')
@@ -113,9 +112,18 @@
lines.append(' if (!self)')
lines.append(' return nil;')
lines.append('')
+
+ required_pointer_members = filter(lambda member: ObjCGenerator.is_type_objc_pointer_type(member.type), required_members)
+ if required_pointer_members:
+ for member in required_pointer_members:
+ var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name)
+ lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(%s, @"%s");' % (var_name, var_name))
+ lines.append('')
+
for member in required_members:
var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name)
lines.append(' self.%s = %s;' % (var_name, var_name))
+
lines.append('')
lines.append(' return self;')
lines.append('}')
@@ -126,7 +134,6 @@
var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name)
setter_method = ObjCGenerator.objc_setter_method_for_member(declaration, member)
conversion_expression = ObjCGenerator.objc_to_protocol_expression_for_member(declaration, member, var_name)
- # FIXME: <https://webkit.org/b/138221> Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
lines = []
lines.append('- (void)set%s:(%s)%s' % (ucfirst(var_name), objc_type, var_name))
lines.append('{')
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-async-attribute.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -1065,6 +1065,11 @@
id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, NSInteger *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
if (columnNames)
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames));
if (notes)
@@ -1100,6 +1105,11 @@
id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, NSInteger *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
if (columnNames)
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames));
if (notes)
@@ -1135,6 +1145,11 @@
id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, NSInteger databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLSyncPrintColor printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames));
resultObject->setString(ASCIILiteral("notes"), notes);
resultObject->setDouble(ASCIILiteral("timestamp"), timestamp);
@@ -1161,6 +1176,11 @@
id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, NSInteger databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLAsyncPrintColor printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames));
resultObject->setString(ASCIILiteral("notes"), notes);
resultObject->setDouble(ASCIILiteral("timestamp"), timestamp);
@@ -1556,6 +1576,8 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
+
self.message = message;
self.code = code;
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -954,6 +954,11 @@
id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, NSInteger *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
if (columnNames)
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames));
if (notes)
@@ -1014,6 +1019,11 @@
id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, NSInteger databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
RefPtr<InspectorObject> resultObject = InspectorObject::create();
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames));
resultObject->setString(ASCIILiteral("notes"), notes);
resultObject->setDouble(ASCIILiteral("timestamp"), timestamp);
@@ -1414,6 +1424,8 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
+
self.message = message;
self.code = code;
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/events-with-optional-parameters.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/events-with-optional-parameters.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/events-with-optional-parameters.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -879,6 +879,14 @@
if (!frontendChannel)
return;
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(screenColor, @"screenColor");
+ THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(printColor, @"printColor");
+
RefPtr<InspectorObject> jsonMessage = InspectorObject::create();
jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteOptionalParameters"));
RefPtr<InspectorObject> paramsObject = InspectorObject::create();
@@ -908,6 +916,14 @@
if (!frontendChannel)
return;
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(screenColor, @"screenColor");
+ THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(printColor, @"printColor");
+
RefPtr<InspectorObject> jsonMessage = InspectorObject::create();
jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteNoOptionalParameters"));
RefPtr<InspectorObject> paramsObject = InspectorObject::create();
@@ -1035,6 +1051,8 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
+
self.message = message;
self.code = code;
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -1110,6 +1110,8 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
+
self.message = message;
self.code = code;
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-declaration-object-type.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-declaration-object-type.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-declaration-object-type.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -1337,6 +1337,8 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
+
self.message = message;
self.code = code;
@@ -1437,6 +1439,12 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
+
self.columnNames = columnNames;
self.notes = notes;
self.timestamp = timestamp;
@@ -1517,6 +1525,12 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(integer, @"integer");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(array, @"array");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(value, @"value");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(object, @"object");
+
self.integer = integer;
self.array = array;
self.string = string;
@@ -1591,6 +1605,12 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
+
self.columnNames = columnNames;
self.notes = notes;
self.timestamp = timestamp;
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result (175478 => 175479)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result 2014-11-03 19:36:14 UTC (rev 175478)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result 2014-11-03 19:36:16 UTC (rev 175479)
@@ -1265,6 +1265,9 @@
if (!self)
return nil;
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(tree, @"tree");
+
self.string = string;
self.number = number;
self.animals = animals;