Title: [212157] trunk/Source/_javascript_Core
- Revision
- 212157
- Author
- bb...@apple.com
- Date
- 2017-02-10 15:47:02 -0800 (Fri, 10 Feb 2017)
Log Message
[Cocoa] Web Inspector: payload initializers for ObjC protocol types handles special-cased property names incorrectly
https://bugs.webkit.org/show_bug.cgi?id=168141
Reviewed by Joseph Pecoraro.
The generated code erroneously uses the ObjC variable name as the payload key,
rather than the raw type member name. For example, 'identifier' would be used instead of 'id'.
* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload):
* inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
Rebaseline an affected test.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (212156 => 212157)
--- trunk/Source/_javascript_Core/ChangeLog 2017-02-10 23:41:35 UTC (rev 212156)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-02-10 23:47:02 UTC (rev 212157)
@@ -1,3 +1,19 @@
+2017-02-10 Brian Burg <bb...@apple.com>
+
+ [Cocoa] Web Inspector: payload initializers for ObjC protocol types handles special-cased property names incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=168141
+
+ Reviewed by Joseph Pecoraro.
+
+ The generated code erroneously uses the ObjC variable name as the payload key,
+ rather than the raw type member name. For example, 'identifier' would be used instead of 'id'.
+
+ * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
+ (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload):
+
+ * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
+ Rebaseline an affected test.
+
2017-02-10 Mark Lam <mark....@apple.com>
StructureStubInfo::considerCaching() should write barrier its owner CodeBlock when buffering a new Structure.
Modified: trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py (212156 => 212157)
--- trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py 2017-02-10 23:41:35 UTC (rev 212156)
+++ trunk/Source/_javascript_Core/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py 2017-02-10 23:47:02 UTC (rev 212157)
@@ -128,10 +128,13 @@
lines.append('')
for member in declaration.type_members:
- var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name)
+ member_name = member.member_name
+ conversion_expression = self.payload_to_objc_expression_for_member(declaration, member)
+
if not member.is_optional:
- lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"%s"], @"%s");' % (var_name, var_name))
- conversion_expression = self.payload_to_objc_expression_for_member(declaration, member)
+ lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"%s"], @"%s");' % (member_name, member_name))
+
+ var_name = ObjCGenerator.identifier_to_objc_identifier(member_name)
lines.append(' self.%s = %s;' % (var_name, conversion_expression))
lines.append('')
Modified: trunk/Source/_javascript_Core/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result (212156 => 212157)
--- trunk/Source/_javascript_Core/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result 2017-02-10 23:41:35 UTC (rev 212156)
+++ trunk/Source/_javascript_Core/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result 2017-02-10 23:47:02 UTC (rev 212157)
@@ -1463,7 +1463,7 @@
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"animals"], @"animals");
self.animals = fromProtocolString<TestProtocolTestCastedAnimals>(payload[@"animals"]);
- THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"identifier"], @"identifier");
+ THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"id"], @"id");
self.identifier = [payload[@"id"] integerValue];
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"tree"], @"tree");
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes