コード例 #1
0
    def generate_output(self):
        secondary_headers = [
            '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX,
            '"%sBackendDispatchers.h"' % ObjCGenerator.OBJC_PREFIX,
            '<JavaScriptCore/AlternateDispatchableAgent.h>',
            '<JavaScriptCore/AugmentableInspectorController.h>',
            '<JavaScriptCore/InspectorAlternateBackendDispatchers.h>',
            '<JavaScriptCore/InspectorBackendDispatchers.h>',
        ]

        header_args = {
            'primaryInclude':
            '"%sConfiguration.h"' % ObjCGenerator.OBJC_PREFIX,
            'secondaryIncludes':
            '\n'.join(['#import %s' % header for header in secondary_headers]),
        }

        self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(
            self.model())
        self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(
            self.model())

        domains = self.domains_to_generate()
        sections = []
        sections.append(self.generate_license())
        sections.append(
            Template(ObjCTemplates.ImplementationPrelude).substitute(
                None, **header_args))
        sections.append(
            self._generate_configuration_implementation_for_domains(domains))
        sections.append(
            Template(ObjCTemplates.ImplementationPostlude).substitute(
                None, **header_args))
        return '\n\n'.join(sections)
コード例 #2
0
    def generate_output(self):
        headers = set([
            '<WebInspector/RWIProtocolJSONObject.h>',
        ])

        header_args = {
            'includes': '\n'.join(['#import ' + header for header in sorted(headers)]),
        }

        domains = self.domains_to_generate()
        type_domains = filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), domains)
        command_domains = filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), domains)
        event_domains = filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains)

        # FIXME: <https://webkit.org/b/138222> Web Inspector: Reduce unnecessary enums/types generated in ObjC Protocol Interfaces
        # Currently we generate enums/types for all types in the type_domains. For the built-in
        # JSC domains (Debugger, Runtime) this produces extra unused types. We only need to
        # generate these types if they are referenced by the command_domains or event_domains.

        sections = []
        sections.append(self.generate_license())
        sections.append(Template(ObjCTemplates.HeaderPrelude).substitute(None, **header_args))
        sections.append('\n'.join(filter(None, map(self._generate_forward_declarations, type_domains))))
        sections.append('\n'.join(filter(None, map(self._generate_enums, type_domains))))
        sections.append('\n'.join(filter(None, map(self._generate_types, type_domains))))
        sections.append('\n\n'.join(filter(None, map(self._generate_command_protocols, command_domains))))
        sections.append('\n\n'.join(filter(None, map(self._generate_event_interfaces, event_domains))))
        sections.append(Template(ObjCTemplates.HeaderPostlude).substitute(None))
        return '\n\n'.join(sections)
コード例 #3
0
    def generate_output(self):
        secondary_headers = [
            '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX,
            '"%sBackendDispatchers.h"' % ObjCGenerator.OBJC_PREFIX,
            "<JavaScriptCore/AlternateDispatchableAgent.h>",
            "<JavaScriptCore/AugmentableInspectorController.h>",
            "<JavaScriptCore/InspectorAlternateBackendDispatchers.h>",
            "<JavaScriptCore/InspectorBackendDispatchers.h>",
        ]

        header_args = {
            "primaryInclude": '"%sConfiguration.h"' % ObjCGenerator.OBJC_PREFIX,
            "secondaryIncludes": "\n".join(["#import %s" % header for header in secondary_headers]),
        }

        self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(self.model())
        self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model())

        domains = self.domains_to_generate()
        sections = []
        sections.append(self.generate_license())
        sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args))
        sections.append(self._generate_configuration_implementation_for_domains(domains))
        sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args))
        return "\n\n".join(sections)
コード例 #4
0
    def generate_output(self):
        headers = set([
            '<WebInspector/%sJSONObject.h>' % ObjCGenerator.OBJC_PREFIX,
        ])

        header_args = {
            'includes': '\n'.join(['#import ' + header for header in sorted(headers)]),
        }

        domains = self.domains_to_generate()
        type_domains = list(filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), domains))
        command_domains = list(filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), domains))
        event_domains = list(filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains))

        # FIXME: <https://webkit.org/b/138222> Web Inspector: Reduce unnecessary enums/types generated in ObjC Protocol Interfaces
        # Currently we generate enums/types for all types in the type_domains. For the built-in
        # JSC domains (Debugger, Runtime) this produces extra unused types. We only need to
        # generate these types if they are referenced by the command_domains or event_domains.

        sections = []
        sections.append(self.generate_license())
        sections.append(Template(ObjCTemplates.HeaderPrelude).substitute(None, **header_args))
        sections.append('\n'.join([_f for _f in map(self._generate_forward_declarations, type_domains) if _f]))
        sections.append('\n'.join([_f for _f in map(self._generate_enums, type_domains) if _f]))
        sections.append('\n'.join([_f for _f in map(self._generate_types, type_domains) if _f]))
        sections.append('\n\n'.join([_f for _f in map(self._generate_command_protocols, command_domains) if _f]))
        sections.append('\n\n'.join([_f for _f in map(self._generate_event_interfaces, event_domains) if _f]))
        sections.append(Template(ObjCTemplates.HeaderPostlude).substitute(None))
        return '\n\n'.join(sections)
コード例 #5
0
    def generate_output(self):
        headers = [
            '<WebInspector/%s.h>' % self.objc_prefix(),
        ]

        header_args = {
            'includes': '\n'.join(['#import ' + header for header in headers]),
        }

        self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(
            self.model())
        self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(
            self.model())

        domains = self.domains_to_generate()
        sections = []
        sections.append(self.generate_license())
        sections.append(
            Template(ObjCTemplates.GenericHeaderPrelude).substitute(
                None, **header_args))
        sections.append(
            self._generate_configuration_interface_for_domains(domains))
        sections.append(
            Template(ObjCTemplates.GenericHeaderPostlude).substitute(
                None, **header_args))
        return '\n\n'.join(sections)
コード例 #6
0
    def generate_output(self):
        headers = [
            '"%s.h"' % ObjCGenerator.OBJC_PREFIX,
        ]

        header_args = {
            'includes': '\n'.join(['#import ' + header for header in headers]),
        }

        self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(self.model())
        self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model())

        domains = self.domains_to_generate()
        sections = []
        sections.append(self.generate_license())
        sections.append(Template(ObjCTemplates.GenericHeaderPrelude).substitute(None, **header_args))
        sections.append(self._generate_configuration_interface_for_domains(domains))
        sections.append(Template(ObjCTemplates.GenericHeaderPostlude).substitute(None, **header_args))
        return '\n\n'.join(sections)
 def domains_to_generate(self):
     return filter(
         ObjCGenerator.should_generate_domain_command_handler_filter(self.model()),
         Generator.domains_to_generate(self),
     )
コード例 #8
0
 def domains_to_generate(self):
     return filter(
         ObjCGenerator.should_generate_domain_command_handler_filter(
             self.model()), Generator.domains_to_generate(self))