RESOLVED FIXED 166003
Web Inspector: teach the protocol generator about platform-specific types, events, and commands
https://bugs.webkit.org/show_bug.cgi?id=166003
Summary Web Inspector: teach the protocol generator about platform-specific types, ev...
Blaze Burg
Reported 2016-12-17 18:10:50 PST
This is for protocols where the Frontend can load different definitions, but the backend has a fixed protocol.A backend can include or exclude some items if its platform does not support them. For example, there are some APIs that work only on iOS or only on Mac.
Attachments
[PATCH 1/3] Add --platform argument (36.26 KB, patch)
2016-12-21 17:19 PST, Blaze Burg
no flags
[PATCH 2/3] Move test cases into platform-specific directories (1.51 MB, patch)
2016-12-21 17:20 PST, Blaze Burg
no flags
[PATCH 3/3] Parser/model/generator changes, and tests (348.20 KB, patch)
2016-12-21 17:21 PST, Blaze Burg
no flags
[COMBINED PATCH] For EWS (1.78 MB, patch)
2016-12-21 17:22 PST, Blaze Burg
no flags
[PATCH 2/3 v2] Move test cases into platform-specific directories (42.62 KB, patch)
2016-12-21 17:24 PST, Blaze Burg
no flags
[PATCH 1/3 v2] Add --platform argument (36.27 KB, patch)
2016-12-22 11:33 PST, Blaze Burg
no flags
[COMBINED PATCH v2] (1.78 MB, patch)
2016-12-22 11:34 PST, Blaze Burg
joepeck: review+
Blaze Burg
Comment 1 2016-12-17 18:10:57 PST
Blaze Burg
Comment 2 2016-12-21 17:19:06 PST
Created attachment 297636 [details] [PATCH 1/3] Add --platform argument
Blaze Burg
Comment 3 2016-12-21 17:20:26 PST
Created attachment 297637 [details] [PATCH 2/3] Move test cases into platform-specific directories
Blaze Burg
Comment 4 2016-12-21 17:21:20 PST
Created attachment 297638 [details] [PATCH 3/3] Parser/model/generator changes, and tests
Blaze Burg
Comment 5 2016-12-21 17:22:44 PST
Created attachment 297639 [details] [COMBINED PATCH] For EWS
Blaze Burg
Comment 6 2016-12-21 17:24:53 PST
Created attachment 297640 [details] [PATCH 2/3 v2] Move test cases into platform-specific directories
WebKit Commit Bot
Comment 7 2016-12-21 17:27:26 PST
This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)
WebKit Commit Bot
Comment 8 2016-12-21 17:27:42 PST
Attachment 297639 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:48: [ObjCFrontendDispatcherImplementationGenerator.domains_to_generate] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:70: [ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:90: [ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py:81: [ObjCConfigurationHeaderGenerator._generate_properties_for_domain] Instance of 'ObjCConfigurationHeaderGenerator' has no 'should_generate_commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py:83: [ObjCConfigurationHeaderGenerator._generate_properties_for_domain] Instance of 'ObjCConfigurationHeaderGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:48: [CppBackendDispatcherImplementationGenerator.domains_to_generate.<lambda>] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:95: [CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:110: [CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:127: [CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:58: [ObjCInternalHeaderGenerator.generate_output] Instance of 'ObjCInternalHeaderGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:58: [ObjCInternalHeaderGenerator.generate_output] Instance of 'ObjCInternalHeaderGenerator' has no 'domains_to_generate' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:69: [ObjCInternalHeaderGenerator._generate_event_dispatcher_private_interfaces] Instance of 'ObjCInternalHeaderGenerator' has no 'events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:50: [ObjCBackendDispatcherHeaderGenerator.domains_to_generate] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'should_generate_commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:74: [ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:79: [ObjCBackendDispatcherHeaderGenerator._generate_objc_handler_declarations_for_domain] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:53: [ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'should_generate_types_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:83: [ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_category_interface] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'type_declarations_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:107: [ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_category_implementation] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'type_declarations_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/ChangeLog:378: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:379: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:380: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:381: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:382: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:383: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:384: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:385: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:386: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:387: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:388: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:389: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:390: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:391: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:392: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:393: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:394: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:395: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:396: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:397: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:398: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:399: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:400: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:401: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:402: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:403: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:404: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:405: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:406: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:407: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:408: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:409: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:410: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:411: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:412: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:413: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:414: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:415: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:416: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:417: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:418: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:419: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:420: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:421: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:422: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:423: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:424: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:425: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:426: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:427: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:428: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:429: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:430: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:431: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:432: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:433: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:434: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:435: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:143: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:145: [generate_from_specification] Undefined variable 'CppFrontendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:147: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:148: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:150: [generate_from_specification] Undefined variable 'ObjCBackendDispatcherImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:152: [generate_from_specification] Undefined variable 'ObjCConfigurationImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:156: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:158: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:163: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165: [generate_from_specification] Undefined variable 'CppFrontendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:171: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:178: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:180: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:184: [generate_from_specification] Undefined variable 'ObjCBackendDispatcherImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:186: [generate_from_specification] Undefined variable 'ObjCConfigurationImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:190: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:191: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] Total errors found: 97 in 96 files If any of these errors are false positives, please file a bug against check-webkit-style.
Blaze Burg
Comment 9 2016-12-22 11:33:44 PST
Created attachment 297661 [details] [PATCH 1/3 v2] Add --platform argument
Blaze Burg
Comment 10 2016-12-22 11:34:55 PST
Created attachment 297662 [details] [COMBINED PATCH v2]
WebKit Commit Bot
Comment 11 2016-12-22 11:39:32 PST
Attachment 297662 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:48: [ObjCFrontendDispatcherImplementationGenerator.domains_to_generate] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:70: [ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:90: [ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations] Instance of 'ObjCFrontendDispatcherImplementationGenerator' has no 'events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py:81: [ObjCConfigurationHeaderGenerator._generate_properties_for_domain] Instance of 'ObjCConfigurationHeaderGenerator' has no 'should_generate_commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py:83: [ObjCConfigurationHeaderGenerator._generate_properties_for_domain] Instance of 'ObjCConfigurationHeaderGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:48: [CppBackendDispatcherImplementationGenerator.domains_to_generate.<lambda>] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:95: [CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:110: [CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:127: [CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain] Instance of 'CppBackendDispatcherImplementationGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:58: [ObjCInternalHeaderGenerator.generate_output] Instance of 'ObjCInternalHeaderGenerator' has no 'should_generate_events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:58: [ObjCInternalHeaderGenerator.generate_output] Instance of 'ObjCInternalHeaderGenerator' has no 'domains_to_generate' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py:69: [ObjCInternalHeaderGenerator._generate_event_dispatcher_private_interfaces] Instance of 'ObjCInternalHeaderGenerator' has no 'events_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:50: [ObjCBackendDispatcherHeaderGenerator.domains_to_generate] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'should_generate_commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:74: [ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:79: [ObjCBackendDispatcherHeaderGenerator._generate_objc_handler_declarations_for_domain] Instance of 'ObjCBackendDispatcherHeaderGenerator' has no 'commands_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:53: [ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'should_generate_types_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:83: [ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_category_interface] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'type_declarations_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:107: [ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_category_implementation] Instance of 'ObjCProtocolTypeConversionsImplementationGenerator' has no 'type_declarations_for_domain' member [pylint/E1101] [5] ERROR: Source/JavaScriptCore/ChangeLog:378: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:379: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:380: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:381: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:382: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:383: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:384: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:385: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:386: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:387: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:388: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:389: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:390: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:391: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:392: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:393: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:394: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:395: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:396: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:397: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:398: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:399: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:400: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:401: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:402: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:403: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:404: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:405: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:406: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:407: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:408: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:409: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:410: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:411: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:412: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:413: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:414: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:415: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:416: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:417: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:418: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:419: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:420: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:421: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:422: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:423: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:424: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:425: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:426: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:427: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:428: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:429: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:430: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:431: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:432: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:433: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:434: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/ChangeLog:435: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:143: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:145: [generate_from_specification] Undefined variable 'CppFrontendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:147: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:148: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:150: [generate_from_specification] Undefined variable 'ObjCBackendDispatcherImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:152: [generate_from_specification] Undefined variable 'ObjCConfigurationImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:156: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:158: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:163: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165: [generate_from_specification] Undefined variable 'CppFrontendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:171: [generate_from_specification] Undefined variable 'CppBackendDispatcherHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173: [generate_from_specification] Undefined variable 'CppProtocolTypesHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174: [generate_from_specification] Undefined variable 'CppProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:178: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:180: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:184: [generate_from_specification] Undefined variable 'ObjCBackendDispatcherImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:186: [generate_from_specification] Undefined variable 'ObjCConfigurationImplementationGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:190: [generate_from_specification] Undefined variable 'ObjCProtocolTypeConversionsHeaderGenerator' [pylint/E0602] [5] ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:191: [generate_from_specification] Undefined variable 'ObjCProtocolTypesImplementationGenerator' [pylint/E0602] [5] Total errors found: 97 in 96 files If any of these errors are false positives, please file a bug against check-webkit-style.
Joseph Pecoraro
Comment 12 2017-01-03 13:05:15 PST
Comment on attachment 297640 [details] [PATCH 2/3 v2] Move test cases into platform-specific directories View in context: https://bugs.webkit.org/attachment.cgi?id=297640&action=review > Tools/Scripts/webkitpy/inspector/main.py:136 > + if not os.path.isdir(input_directory) or not os.path.isdir(input_directory): This checks the same path twice. I think the second check be using `reference_directory` instead of `input_directory`.
Joseph Pecoraro
Comment 13 2017-01-03 13:21:14 PST
Comment on attachment 297638 [details] [PATCH 3/3] Parser/model/generator changes, and tests View in context: https://bugs.webkit.org/attachment.cgi?id=297638&action=review > Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py:70 > + commands = self.commands_for_domain(domain) > + events = self.events_for_domain(domain) It is a bit unfortunate that we have to do this commands_for_domain / events_for_domain dance everywhere. It makes the code a little more hectic and harder to read. But I don't have any good suggestions. > Source/JavaScriptCore/inspector/scripts/codegen/generator.py:104 > + def commands_for_domain(self, domain): > + return [command for command in domain.all_commands() if self.can_generate_platform(command.platform)] > + > + def events_for_domain(self, domain): > + return [event for event in domain.all_events() if self.can_generate_platform(event.platform)] This unfortunately makes the code a little more noisy: self.domain.commands => self.commands_for_domain(domain)
Joseph Pecoraro
Comment 14 2017-01-03 13:27:52 PST
Comment on attachment 297662 [details] [COMBINED PATCH v2] r=me
Carlos Garcia Campos
Comment 16 2017-04-21 01:23:19 PDT
The problem I see with this approach is that it only allows to set a single platform. This is a problem for example with the Automation.json. resizeWindowOfBrowsingContext and moveWindowOfBrowsingContext are only generated for macos platform, I guess because it's not supported in iOS. To generate them for the GTK+ port I would need to add a GTK+ platform and add another entry with platform: "gtk", right? Or maybe we can change platform to platforms and make it a list. Although, in the particular case of these methods, I think we could remove the platform entirely and simply return FAIL_WITH_PREDEFINED_ERROR(NotImplemented); like we do with performMouseInteraction when not using APPKIT. The implementation of those methods is in mm files but it's actually cross-platform.
Michael Catanzaro
Comment 17 2017-04-21 08:18:05 PDT
Note You need to log in before you can comment on or make changes to this bug.