Changeset 236321 in webkit


Ignore:
Timestamp:
Sep 21, 2018 9:20:05 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

Build tools should work when the /usr/bin/python is python3
https://bugs.webkit.org/show_bug.cgi?id=156674

Patch by Mike Gorse <mgorse@suse.com> on 2018-09-21
Reviewed by Michael Catanzaro.

.:

  • Source/cmake/WebKitCommon.cmake: Allow python 3.

Source/JavaScriptCore:

  • Scripts/cssmin.py:
  • Scripts/generate-js-builtins.py:

(do_open):
(generate_bindings_for_builtins_files):

  • Scripts/generateIntlCanonicalizeLanguage.py:
  • Scripts/jsmin.py:

(JavascriptMinify.minify.write):
(JavascriptMinify):
(JavascriptMinify.minify):

  • Scripts/make-js-file-arrays.py:

(chunk):
(main):

  • Scripts/wkbuiltins/init.py:
  • Scripts/wkbuiltins/builtins_generate_combined_header.py:

(generate_section_for_global_private_code_name_macro):

  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:

(BuiltinsInternalsWrapperHeaderGenerator.init):

  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.init):

  • Scripts/wkbuiltins/builtins_model.py:

(BuiltinFunction.lt):
(BuiltinsCollection.copyrights):
(BuiltinsCollection._parse_functions):

  • disassembler/udis86/ud_opcode.py:

(UdOpcodeTables.pprint.printWalk):

  • generate-bytecode-files:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/cpp_generator.py:
  • inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:

(CppAlternateBackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.domains_to_generate):
(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator.domains_to_generate):
(CppBackendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.domains_to_generate):
(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator.domains_to_generate):
(CppFrontendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(CppProtocolTypesHeaderGenerator._generate_forward_declarations):

  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:

(CppProtocolTypesImplementationGenerator.generate_output):
(CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain):
(CppProtocolTypesImplementationGenerator._generate_enum_mapping_and_conversion_methods):
(CppProtocolTypesImplementationGenerator._generate_open_field_names):
(CppProtocolTypesImplementationGenerator._generate_builders_for_domain):
(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):

  • inspector/scripts/codegen/generate_js_backend_commands.py:

(JSBackendCommandsGenerator.should_generate_domain):
(JSBackendCommandsGenerator.domains_to_generate):
(JSBackendCommandsGenerator.generate_output):
(JSBackendCommandsGenerator.generate_domain):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:

(ObjCBackendDispatcherHeaderGenerator.domains_to_generate):
(ObjCBackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCBackendDispatcherImplementationGenerator.domains_to_generate):
(ObjCBackendDispatcherImplementationGenerator.generate_output):
(ObjCBackendDispatcherImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_configuration_header.py:
  • inspector/scripts/codegen/generate_objc_configuration_implementation.py:
  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator.domains_to_generate):
(ObjCFrontendDispatcherImplementationGenerator.generate_output):
(ObjCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/codegen/generate_objc_header.py:

(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_type_interface):

  • inspector/scripts/codegen/generate_objc_internal_header.py:

(ObjCInternalHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:

(ObjCProtocolTypeConversionsHeaderGenerator.domains_to_generate):
(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:

(ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.domains_to_generate):
(ObjCProtocolTypesImplementationGenerator.generate_output):
(ObjCProtocolTypesImplementationGenerator.generate_type_implementation):
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):

  • inspector/scripts/codegen/generator.py:

(Generator.non_supplemental_domains):
(Generator.open_fields):
(Generator.calculate_types_requiring_shape_assertions):
(Generator._traverse_and_assign_enum_values):
(Generator.stylized_name_for_enum_value):

  • inspector/scripts/codegen/models.py:

(find_duplicates):

  • inspector/scripts/codegen/objc_generator.py:
  • wasm/generateWasm.py:

(opcodeIterator):

  • yarr/generateYarrCanonicalizeUnicode:
  • yarr/generateYarrUnicodePropertyTables.py:
  • yarr/hasher.py:

(stringHash):

Source/WebCore:

No new tests (no behavior change).

  • platform/network/create-http-header-name-table: remove xreadlines.

Source/WebInspectorUI:

  • Scripts/copy-user-interface-resources.pl: Use $PYTHON if set

in the environment.

Location:
trunk
Files:
46 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r236246 r236321  
     12018-09-21  Mike Gorse  <mgorse@suse.com>
     2
     3        Build tools should work when the /usr/bin/python is python3
     4        https://bugs.webkit.org/show_bug.cgi?id=156674
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * Source/cmake/WebKitCommon.cmake: Allow python 3.
     9
    1102018-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
    211
  • trunk/Source/JavaScriptCore/ChangeLog

    r236315 r236321  
     12018-09-21  Mike Gorse  <mgorse@suse.com>
     2
     3        Build tools should work when the /usr/bin/python is python3
     4        https://bugs.webkit.org/show_bug.cgi?id=156674
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * Scripts/cssmin.py:
     9        * Scripts/generate-js-builtins.py:
     10        (do_open):
     11        (generate_bindings_for_builtins_files):
     12        * Scripts/generateIntlCanonicalizeLanguage.py:
     13        * Scripts/jsmin.py:
     14        (JavascriptMinify.minify.write):
     15        (JavascriptMinify):
     16        (JavascriptMinify.minify):
     17        * Scripts/make-js-file-arrays.py:
     18        (chunk):
     19        (main):
     20        * Scripts/wkbuiltins/__init__.py:
     21        * Scripts/wkbuiltins/builtins_generate_combined_header.py:
     22        (generate_section_for_global_private_code_name_macro):
     23        * Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:
     24        (BuiltinsInternalsWrapperHeaderGenerator.__init__):
     25        * Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:
     26        (BuiltinsInternalsWrapperImplementationGenerator.__init__):
     27        * Scripts/wkbuiltins/builtins_model.py:
     28        (BuiltinFunction.__lt__):
     29        (BuiltinsCollection.copyrights):
     30        (BuiltinsCollection._parse_functions):
     31        * disassembler/udis86/ud_opcode.py:
     32        (UdOpcodeTables.pprint.printWalk):
     33        * generate-bytecode-files:
     34        * inspector/scripts/codegen/__init__.py:
     35        * inspector/scripts/codegen/cpp_generator.py:
     36        * inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:
     37        (CppAlternateBackendDispatcherHeaderGenerator.generate_output):
     38        * inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
     39        (CppBackendDispatcherHeaderGenerator.domains_to_generate):
     40        (CppBackendDispatcherHeaderGenerator.generate_output):
     41        (CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
     42        * inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
     43        (CppBackendDispatcherImplementationGenerator.domains_to_generate):
     44        (CppBackendDispatcherImplementationGenerator.generate_output):
     45        * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
     46        (CppFrontendDispatcherHeaderGenerator.domains_to_generate):
     47        (CppFrontendDispatcherHeaderGenerator.generate_output):
     48        * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
     49        (CppFrontendDispatcherImplementationGenerator.domains_to_generate):
     50        (CppFrontendDispatcherImplementationGenerator.generate_output):
     51        * inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
     52        (CppProtocolTypesHeaderGenerator.generate_output):
     53        (CppProtocolTypesHeaderGenerator._generate_forward_declarations):
     54        * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
     55        (CppProtocolTypesImplementationGenerator.generate_output):
     56        (CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain):
     57        (CppProtocolTypesImplementationGenerator._generate_enum_mapping_and_conversion_methods):
     58        (CppProtocolTypesImplementationGenerator._generate_open_field_names):
     59        (CppProtocolTypesImplementationGenerator._generate_builders_for_domain):
     60        (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):
     61        * inspector/scripts/codegen/generate_js_backend_commands.py:
     62        (JSBackendCommandsGenerator.should_generate_domain):
     63        (JSBackendCommandsGenerator.domains_to_generate):
     64        (JSBackendCommandsGenerator.generate_output):
     65        (JSBackendCommandsGenerator.generate_domain):
     66        * inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
     67        (ObjCBackendDispatcherHeaderGenerator.domains_to_generate):
     68        (ObjCBackendDispatcherHeaderGenerator.generate_output):
     69        * inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
     70        (ObjCBackendDispatcherImplementationGenerator.domains_to_generate):
     71        (ObjCBackendDispatcherImplementationGenerator.generate_output):
     72        (ObjCBackendDispatcherImplementationGenerator._generate_success_block_for_command):
     73        * inspector/scripts/codegen/generate_objc_configuration_header.py:
     74        * inspector/scripts/codegen/generate_objc_configuration_implementation.py:
     75        * inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
     76        (ObjCFrontendDispatcherImplementationGenerator.domains_to_generate):
     77        (ObjCFrontendDispatcherImplementationGenerator.generate_output):
     78        (ObjCFrontendDispatcherImplementationGenerator._generate_event):
     79        * inspector/scripts/codegen/generate_objc_header.py:
     80        (ObjCHeaderGenerator.generate_output):
     81        (ObjCHeaderGenerator._generate_type_interface):
     82        * inspector/scripts/codegen/generate_objc_internal_header.py:
     83        (ObjCInternalHeaderGenerator.generate_output):
     84        * inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
     85        (ObjCProtocolTypeConversionsHeaderGenerator.domains_to_generate):
     86        (ObjCProtocolTypeConversionsHeaderGenerator.generate_output):
     87        * inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:
     88        (ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate):
     89        * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
     90        (ObjCProtocolTypesImplementationGenerator.domains_to_generate):
     91        (ObjCProtocolTypesImplementationGenerator.generate_output):
     92        (ObjCProtocolTypesImplementationGenerator.generate_type_implementation):
     93        (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):
     94        * inspector/scripts/codegen/generator.py:
     95        (Generator.non_supplemental_domains):
     96        (Generator.open_fields):
     97        (Generator.calculate_types_requiring_shape_assertions):
     98        (Generator._traverse_and_assign_enum_values):
     99        (Generator.stylized_name_for_enum_value):
     100        * inspector/scripts/codegen/models.py:
     101        (find_duplicates):
     102        * inspector/scripts/codegen/objc_generator.py:
     103        * wasm/generateWasm.py:
     104        (opcodeIterator):
     105        * yarr/generateYarrCanonicalizeUnicode:
     106        * yarr/generateYarrUnicodePropertyTables.py:
     107        * yarr/hasher.py:
     108        (stringHash):
     109
    11102018-09-21  Tomas Popela  <tpopela@redhat.com>
    2111
  • trunk/Source/JavaScriptCore/Scripts/generate-js-builtins.py

    r236005 r236321  
    3232import optparse
    3333import os
     34import sys
    3435
    3536logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.ERROR)
     
    4748
    4849
     50def do_open(file, mode):
     51    if sys.version_info.major == 2:
     52        return open(file, mode)
     53    else:
     54        return open(file, mode, encoding="UTF-8")
     55
    4956def generate_bindings_for_builtins_files(builtins_files=[],
    5057                                         output_path=None,
     
    6067
    6168    for filepath in builtins_files:
    62         with open(filepath, "r") as file:
     69        with do_open(filepath, "r") as file:
    6370            file_text = file.read()
    6471            file_name = os.path.basename(filepath)
     
    147154            input_filepaths.append(os.path.join(arg_options.input_directory, filepath))
    148155
    149     input_filepaths = sorted(filter(lambda name: fnmatch.fnmatch(name, '*.js'), input_filepaths))
     156    input_filepaths = sorted([name for name in input_filepaths if fnmatch.fnmatch(name, '*.js')])
    150157
    151158    options = {
     
    160167    log.debug("Generating code for builtins.")
    161168    log.debug("Parsed options:")
    162     for option, value in options.items():
     169    for option, value in list(options.items()):
    163170        log.debug("    %s: %s" % (option, value))
    164171    log.debug("")
  • trunk/Source/JavaScriptCore/Scripts/generateIntlCanonicalizeLanguage.py

    r234127 r236321  
    190190
    191191    registryFile = openOrExit(registryPath, "r")
    192     intlCanonHFile = openOrExit(intlCanonHPath, "wb")
     192    intlCanonHFile = openOrExit(intlCanonHPath, "w")
    193193
    194194    intlCanonHFile.write(header)
  • trunk/Source/JavaScriptCore/Scripts/jsmin.py

    r191692 r236321  
    8080            # all of this is to support literal regular expressions.
    8181            # sigh
    82             if char in 'return':
     82            if str(char) in 'return':
    8383                self.return_buf += char
    8484                self.is_return = self.return_buf == 'return'
    85             self.outs.write(char)
     85            if sys.version_info.major == 2:
     86                self.outs.write(char)
     87            else:
     88                self.outs.write(str(char))
    8689            if self.is_return:
    8790                self.return_buf = ''
     
    119122        elif not previous:
    120123            return
    121         elif previous >= '!':
    122             if previous in "'\"":
     124        elif str(previous) >= "!":
     125            if str(previous) in "'\"":
    123126                in_quote = previous
    124127            write(previous)
     
    167170                        in_quote = ''
    168171                        write(''.join(quote_buf))
    169             elif next1 in '\r\n':
     172            elif str(next1) in '\r\n':
    170173                if previous_non_space in newlineend_strings \
    171174                    or previous_non_space > '~':
     
    180183                                do_newline = True
    181184                            break
    182             elif next1 < '!' and not in_re:
     185            elif str(next1) < '!' and not in_re:
    183186                if (previous_non_space in space_strings \
    184187                    or previous_non_space > '~') \
     
    218221
    219222                write(next1)
    220                 if not in_re and next1 in "'\"`":
     223                if not in_re and str(next1) in "'\"`":
    221224                    in_quote = next1
    222225                    quote_buf = []
     
    225228            next1 = next2
    226229
    227             if previous >= '!':
     230            if str(previous) >= '!':
    228231                previous_non_space = previous
    229232
  • trunk/Source/JavaScriptCore/Scripts/make-js-file-arrays.py

    r225724 r236321  
    2626import os
    2727from optparse import OptionParser
    28 from StringIO import StringIO
     28import sys
     29if sys.version_info.major == 2:
     30    from StringIO import StringIO
     31else:
     32    from io import StringIO
    2933from jsmin import JavascriptMinify
    3034
     
    3842
    3943def chunk(list, chunkSize):
    40     for i in xrange(0, len(list), chunkSize):
     44    for i in range(0, len(list), chunkSize):
    4145        yield list[i:i + chunkSize]
    4246
     
    8690        print('const char {0:s}JavaScript[{1:d}] = {{'.format(variableName, size), file=sourceFile)
    8791
    88         codepoints = map(ord, characters)
     92        codepoints = list(map(ord, characters))
    8993        for codepointChunk in chunk(codepoints, 16):
    9094            print('    {0:s},'.format(','.join(map(stringifyCodepoint, codepointChunk))), file=sourceFile)
  • trunk/Source/JavaScriptCore/Scripts/wkbuiltins/__init__.py

    r236005 r236321  
    11# Required for Python to search this directory for module files
    22
    3 from wkbuiltins import *
     3from .wkbuiltins import *
  • trunk/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_generate_combined_header.py

    r236005 r236321  
    159159        lines = []
    160160        lines.append("#define %(macroPrefix)s_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \\" % args)
    161         functions = filter(lambda function: function.is_global_private, self.model().all_functions())
     161        functions = [function for function in self.model().all_functions() if function.is_global_private]
    162162        functions.sort(key=lambda x: x.function_name)
    163163        for function in functions:
  • trunk/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py

    r236005 r236321  
    3737    def __init__(self, model):
    3838        BuiltinsGenerator.__init__(self, model)
    39         self.internals = filter(lambda object: 'internal' in object.annotations, model.objects)
     39        self.internals = [object for object in model.objects if 'internal' in object.annotations]
    4040
    4141    def output_filename(self):
  • trunk/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py

    r236005 r236321  
    3737    def __init__(self, model):
    3838        BuiltinsGenerator.__init__(self, model)
    39         self.internals = filter(lambda object: 'internal' in object.annotations, model.objects)
     39        self.internals = [object for object in model.objects if 'internal' in object.annotations]
    4040
    4141    def output_filename(self):
  • trunk/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_model.py

    r236005 r236321  
    156156        return interface
    157157
     158    def __lt__(self, other):
     159        return self.function_name < other.function_name
     160
    158161
    159162class BuiltinsCollection:
     
    211214        result = []
    212215
    213         for owner, years in owner_to_years.items():
     216        for owner, years in list(owner_to_years.items()):
    214217            sorted_years = list(years)
    215218            sorted_years.sort()
     
    304307
    305308        functionStrings = [text[start:end].strip() for (start, end) in functionBounds]
    306         return map(BuiltinFunction.fromString, functionStrings)
     309        return list(map(BuiltinFunction.fromString, functionStrings))
  • trunk/Source/JavaScriptCore/disassembler/udis86/ud_opcode.py

    r198832 r236321  
    551551            for k, e in entries:
    552552                if isinstance(e, UdOpcodeTable):
    553                     self.log("%s    |-<%02x> %s" % (indent, k, e))
     553                    self.log("%s    |-<%02x> %s" % (indent, int(k), e))
    554554                    printWalk(e, indent + "    |")
    555555                elif isinstance(e, UdInsnDef):
    556                     self.log("%s    |-<%02x> %s" % (indent, k, e))
     556                    self.log("%s    |-<%02x> %s" % (indent, int(k), e))
    557557        printWalk(self.root)
    558558
  • trunk/Source/JavaScriptCore/generate-bytecode-files

    r232070 r236321  
    127127    writeInstructionAccessor(bytecodeHFile, "Opcode", "opcode")
    128128    for offset in bytecode["offsets"]:
    129         for name, typeName in offset.iteritems():
     129        for name, typeName in offset.items():
    130130            writeInstructionAccessor(bytecodeHFile, typeName, name)
    131131
     
    135135    writeInstructionMember(bytecodeHFile, "Opcode", "opcode")
    136136    for offset in bytecode["offsets"]:
    137         for name, typeName in offset.iteritems():
     137        for name, typeName in offset.items():
    138138            writeInstructionMember(bytecodeHFile, typeName, name)
    139139    bytecodeHFile.write("};\n\n")
     
    207207
    208208    if bytecodeHFilename:
    209         bytecodeHFile = openOrExit(bytecodeHFilename, "wb")
     209        bytecodeHFile = openOrExit(bytecodeHFilename, "w")
    210210
    211211    if bytecodeStructsHFilename:
    212         bytecodeStructsHFile = openOrExit(bytecodeStructsHFilename, "wb")
     212        bytecodeStructsHFile = openOrExit(bytecodeStructsHFilename, "w")
    213213
    214214    if initASMFileName:
    215         initBytecodesFile = openOrExit(initASMFileName, "wb")
     215        initBytecodesFile = openOrExit(initASMFileName, "w")
    216216
    217217    try:
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py

    r197717 r236321  
    11# Required for Python to search this directory for module files
    22
    3 from models import *
    4 from generator import *
    5 from cpp_generator import *
    6 from objc_generator import *
     3from .models import *
     4from .generator import *
     5from .cpp_generator import *
     6from .objc_generator import *
    77
    8 from generate_cpp_alternate_backend_dispatcher_header import *
    9 from generate_cpp_backend_dispatcher_header import *
    10 from generate_cpp_backend_dispatcher_implementation import *
    11 from generate_cpp_frontend_dispatcher_header import *
    12 from generate_cpp_frontend_dispatcher_implementation import *
    13 from generate_cpp_protocol_types_header import *
    14 from generate_cpp_protocol_types_implementation import *
    15 from generate_js_backend_commands import *
    16 from generate_objc_backend_dispatcher_header import *
    17 from generate_objc_backend_dispatcher_implementation import *
    18 from generate_objc_configuration_header import *
    19 from generate_objc_configuration_implementation import *
    20 from generate_objc_frontend_dispatcher_implementation import *
    21 from generate_objc_header import *
    22 from generate_objc_internal_header import *
    23 from generate_objc_protocol_types_implementation import *
    24 from generate_objc_protocol_type_conversions_header import *
    25 from generate_objc_protocol_type_conversions_implementation import *
     8from .generate_cpp_alternate_backend_dispatcher_header import *
     9from .generate_cpp_backend_dispatcher_header import *
     10from .generate_cpp_backend_dispatcher_implementation import *
     11from .generate_cpp_frontend_dispatcher_header import *
     12from .generate_cpp_frontend_dispatcher_implementation import *
     13from .generate_cpp_protocol_types_header import *
     14from .generate_cpp_protocol_types_implementation import *
     15from .generate_js_backend_commands import *
     16from .generate_objc_backend_dispatcher_header import *
     17from .generate_objc_backend_dispatcher_implementation import *
     18from .generate_objc_configuration_header import *
     19from .generate_objc_configuration_implementation import *
     20from .generate_objc_frontend_dispatcher_implementation import *
     21from .generate_objc_header import *
     22from .generate_objc_internal_header import *
     23from .generate_objc_protocol_types_implementation import *
     24from .generate_objc_protocol_type_conversions_header import *
     25from .generate_objc_protocol_type_conversions_implementation import *
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py

    r228600 r236321  
    2929import re
    3030
    31 from generator import ucfirst, Generator
    32 from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
     31try:
     32    from .generator import ucfirst, Generator
     33    from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
     34except ValueError:
     35    from generator import ucfirst, Generator
     36    from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
    3337
    3438log = logging.getLogger('global')
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py

    r228196 r236321  
    3131from string import Template
    3232
    33 from cpp_generator import CppGenerator
    34 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     36except ValueError:
     37    from cpp_generator import CppGenerator
     38    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    3539
    3640log = logging.getLogger('global')
     
    5357        sections.append(self.generate_license())
    5458        sections.append(Template(CppTemplates.AlternateDispatchersHeaderPrelude).substitute(None, **template_args))
    55         sections.append('\n'.join(filter(None, map(self._generate_handler_declarations_for_domain, domains))))
     59        sections.append('\n'.join([_f for _f in map(self._generate_handler_declarations_for_domain, domains) if _f]))
    5660        sections.append(Template(CppTemplates.AlternateDispatchersHeaderPostlude).substitute(None, **template_args))
    5761        return '\n\n'.join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py

    r229493 r236321  
    3131from string import Template
    3232
    33 from cpp_generator import CppGenerator
    34 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    35 from generator import Generator, ucfirst
    36 from models import EnumType
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     36    from .generator import Generator, ucfirst
     37    from .models import EnumType
     38except ValueError:
     39    from cpp_generator import CppGenerator
     40    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     41    from generator import Generator, ucfirst
     42    from models import EnumType
    3743
    3844log = logging.getLogger('global')
     
    4753
    4854    def domains_to_generate(self):
    49         return filter(lambda domain: len(self.commands_for_domain(domain)) > 0, Generator.domains_to_generate(self))
     55        return [domain for domain in Generator.domains_to_generate(self) if len(self.commands_for_domain(domain)) > 0]
    5056
    5157    def generate_output(self):
     
    6369        if self.model().framework.setting('alternate_dispatchers', False):
    6470            sections.append(self._generate_alternate_handler_forward_declarations_for_domains(domains))
    65         sections.extend(map(self._generate_handler_declarations_for_domain, domains))
    66         sections.extend(map(self._generate_dispatcher_declarations_for_domain, domains))
     71        sections.extend(list(map(self._generate_handler_declarations_for_domain, domains)))
     72        sections.extend(list(map(self._generate_dispatcher_declarations_for_domain, domains)))
    6773        sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args))
    6874        return "\n\n".join(sections)
     
    199205        if len(commands) > 0:
    200206            declarations.append('private:')
    201         declarations.extend(map(self._generate_dispatcher_declaration_for_command, commands))
     207        declarations.extend(list(map(self._generate_dispatcher_declaration_for_command, commands)))
    202208
    203209        declaration_args = {
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py

    r233122 r236321  
    3030from string import Template
    3131
    32 from cpp_generator import CppGenerator
    33 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    34 from generator import Generator, ucfirst
    35 from models import ObjectType, ArrayType
     32try:
     33    from .cpp_generator import CppGenerator
     34    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     35    from .generator import Generator, ucfirst
     36    from .models import ObjectType, ArrayType
     37except ValueError:
     38    from cpp_generator import CppGenerator
     39    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     40    from generator import Generator, ucfirst
     41    from models import ObjectType, ArrayType
    3642
    3743log = logging.getLogger('global')
     
    4652
    4753    def domains_to_generate(self):
    48         return filter(lambda domain: len(self.commands_for_domain(domain)) > 0, Generator.domains_to_generate(self))
     54        return [domain for domain in Generator.domains_to_generate(self) if len(self.commands_for_domain(domain)) > 0]
    4955
    5056    def generate_output(self):
     
    6672        sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args))
    6773        sections.append("\n".join(map(self._generate_handler_class_destructor_for_domain, self.domains_to_generate())))
    68         sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate()))
     74        sections.extend(list(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())))
    6975        sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args))
    7076        return "\n\n".join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py

    r228196 r236321  
    3131from string import Template
    3232
    33 from cpp_generator import CppGenerator
    34 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    35 from generator import Generator, ucfirst
    36 from models import EnumType
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     36    from .generator import Generator, ucfirst
     37    from .models import EnumType
     38except ValueError:
     39    from cpp_generator import CppGenerator
     40    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     41    from generator import Generator, ucfirst
     42    from models import EnumType
    3743
    3844log = logging.getLogger('global')
     
    4753
    4854    def domains_to_generate(self):
    49         return filter(lambda domain: len(self.events_for_domain(domain)) > 0, Generator.domains_to_generate(self))
     55        return [domain for domain in Generator.domains_to_generate(self) if len(self.events_for_domain(domain)) > 0]
    5056
    5157    def generate_output(self):
     
    5864        sections.append(self.generate_license())
    5965        sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args))
    60         sections.extend(map(self._generate_dispatcher_declarations_for_domain, self.domains_to_generate()))
     66        sections.extend(list(map(self._generate_dispatcher_declarations_for_domain, self.domains_to_generate())))
    6167        sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args))
    6268        return "\n\n".join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py

    r233122 r236321  
    3030from string import Template
    3131
    32 from cpp_generator import CppGenerator
    33 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    34 from generator import Generator, ucfirst
    35 from models import ObjectType, ArrayType
     32try:
     33    from .cpp_generator import CppGenerator
     34    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     35    from .generator import Generator, ucfirst
     36    from .models import ObjectType, ArrayType
     37except:
     38    from cpp_generator import CppGenerator
     39    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     40    from generator import Generator, ucfirst
     41    from models import ObjectType, ArrayType
    3642
    3743log = logging.getLogger('global')
     
    4652
    4753    def domains_to_generate(self):
    48         return filter(lambda domain: len(self.events_for_domain(domain)) > 0, Generator.domains_to_generate(self))
     54        return [domain for domain in Generator.domains_to_generate(self) if len(self.events_for_domain(domain)) > 0]
    4955
    5056    def generate_output(self):
     
    5763        sections.append(self.generate_license())
    5864        sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args))
    59         sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate()))
     65        sections.extend(list(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())))
    6066        sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args))
    6167        return "\n\n".join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py

    r235248 r236321  
    3232from string import Template
    3333
    34 from cpp_generator import CppGenerator
    35 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    36 from generator import Generator, ucfirst
    37 from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks
     34try:
     35    from .cpp_generator import CppGenerator
     36    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     37    from .generator import Generator, ucfirst
     38    from .models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks
     39except ValueError:
     40    from cpp_generator import CppGenerator
     41    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     42    from generator import Generator, ucfirst
     43    from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks
    3844
    3945log = logging.getLogger('global')
     
    6369        sections.append(self._generate_typedefs(domains))
    6470        sections.extend(self._generate_enum_constant_value_conversion_methods())
    65         builder_sections = map(self._generate_builders_for_domain, domains)
    66         sections.extend(filter(lambda section: len(section) > 0, builder_sections))
     71        builder_sections = list(map(self._generate_builders_for_domain, domains))
     72        sections.extend([section for section in builder_sections if len(section) > 0])
    6773        sections.append(self._generate_forward_declarations_for_binding_traits(domains))
    6874        sections.extend(self._generate_declarations_for_enum_conversion_methods(domains))
     
    8995        for domain in domains:
    9096            declaration_types = [decl.type for decl in self.type_declarations_for_domain(domain)]
    91             object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types)
    92             enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types)
     97            object_types = [_type for _type in declaration_types if isinstance(_type, ObjectType)]
     98            enum_types = [_type for _type in declaration_types if isinstance(_type, EnumType)]
    9399            sorted(object_types, key=methodcaller('raw_name'))
    94100            sorted(enum_types, key=methodcaller('raw_name'))
     
    115121
    116122    def _generate_typedefs(self, domains):
    117         sections = map(self._generate_typedefs_for_domain, domains)
    118         sections = filter(lambda text: len(text) > 0, sections)
     123        sections = list(map(self._generate_typedefs_for_domain, domains))
     124        sections = [text for text in sections if len(text) > 0]
    119125
    120126        if len(sections) == 0:
     
    127133    def _generate_typedefs_for_domain(self, domain):
    128134        type_declarations = self.type_declarations_for_domain(domain)
    129         primitive_declarations = filter(lambda decl: isinstance(decl.type, AliasedType), type_declarations)
    130         array_declarations = filter(lambda decl: isinstance(decl.type, ArrayType), type_declarations)
     135        primitive_declarations = [decl for decl in type_declarations if isinstance(decl.type, AliasedType)]
     136        array_declarations = [decl for decl in type_declarations if isinstance(decl.type, ArrayType)]
    131137        if len(primitive_declarations) == 0 and len(array_declarations) == 0:
    132138            return ''
     
    188194                sections.append(self._generate_class_for_object_declaration(type_declaration, domain))
    189195
    190         sections = filter(lambda section: len(section) > 0, sections)
     196        sections = [section for section in sections if len(section) > 0]
    191197        if len(sections) == 0:
    192198            return ''
     
    202208            return ''
    203209
    204         enum_members = filter(lambda member: isinstance(member.type, EnumType) and member.type.is_anonymous, type_declaration.type_members)
    205         required_members = filter(lambda member: not member.is_optional, type_declaration.type_members)
    206         optional_members = filter(lambda member: member.is_optional, type_declaration.type_members)
     210        enum_members = [member for member in type_declaration.type_members if isinstance(member.type, EnumType) and member.type.is_anonymous]
     211        required_members = [member for member in type_declaration.type_members if not member.is_optional]
     212        optional_members = [member for member in type_declaration.type_members if member.is_optional]
    207213        object_name = type_declaration.type_name
    208214
     
    263269                return '    ' + line
    264270
    265         indented_lines = map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type))
     271        indented_lines = list(map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type)))
    266272        return '\n'.join(indented_lines)
    267273
     
    277283    def _generate_builder_state_enum(self, type_declaration):
    278284        lines = []
    279         required_members = filter(lambda member: not member.is_optional, type_declaration.type_members)
     285        required_members = [member for member in type_declaration.type_members if not member.is_optional]
    280286        enum_values = []
    281287
     
    345351        for domain in domains:
    346352            type_declarations = self.type_declarations_for_domain(domain)
    347             declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), type_declarations)
     353            declarations_to_generate = [decl for decl in type_declarations if self.type_needs_shape_assertions(decl.type)]
    348354
    349355            for type_declaration in declarations_to_generate:
     
    394400            type_declarations = self.type_declarations_for_domain(domain)
    395401            declaration_types = [decl.type for decl in type_declarations]
    396             object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types)
    397             enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types)
     402            object_types = [_type for _type in declaration_types if isinstance(_type, ObjectType)]
     403            enum_types = [_type for _type in declaration_types if isinstance(_type, EnumType)]
    398404            if len(object_types) + len(enum_types) == 0:
    399405                continue
     
    433439            type_declarations = self.type_declarations_for_domain(domain)
    434440            declaration_types = [decl.type for decl in type_declarations]
    435             enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types)
     441            enum_types = list(filter(lambda _type: isinstance(_type, EnumType), declaration_types))
    436442
    437443            if len(enum_types) == 0:
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py

    r233122 r236321  
    3131from operator import methodcaller
    3232
    33 from cpp_generator import CppGenerator
    34 from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
    35 from generator import Generator, ucfirst
    36 from models import AliasedType, ArrayType, EnumType, ObjectType
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     36    from .generator import Generator, ucfirst
     37    from .models import AliasedType, ArrayType, EnumType, ObjectType
     38except ValueError:
     39    from cpp_generator import CppGenerator
     40    from cpp_generator_templates import CppGeneratorTemplates as CppTemplates
     41    from generator import Generator, ucfirst
     42    from models import AliasedType, ArrayType, EnumType, ObjectType
    3743
    3844log = logging.getLogger('global')
     
    6672        sections.extend(self._generate_enum_mapping_and_conversion_methods(domains))
    6773        sections.append(self._generate_open_field_names())
    68         builder_sections = map(self._generate_builders_for_domain, domains)
    69         sections.extend(filter(lambda section: len(section) > 0, builder_sections))
     74        builder_sections = list(map(self._generate_builders_for_domain, domains))
     75        sections.extend([section for section in builder_sections if len(section) > 0])
    7076        sections.append('} // namespace Protocol')
    7177        sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args))
     
    129135        type_declarations = self.type_declarations_for_domain(domain)
    130136        declaration_types = [decl.type for decl in type_declarations]
    131         object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types)
    132         enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types)
     137        object_types = [_type for _type in declaration_types if isinstance(_type, ObjectType)]
     138        enum_types = [_type for _type in declaration_types if isinstance(_type, EnumType)]
    133139        if len(object_types) + len(enum_types) == 0:
    134140            return ''
     
    157163        sections.append('namespace %s {' % self.helpers_namespace())
    158164        sections.extend(self._generate_enum_mapping())
    159         enum_parser_sections = map(self._generate_enum_conversion_methods_for_domain, domains)
    160         sections.extend(filter(lambda section: len(section) > 0, enum_parser_sections))
     165        enum_parser_sections = list(map(self._generate_enum_conversion_methods_for_domain, domains))
     166        sections.extend([section for section in enum_parser_sections if len(section) > 0])
    161167        if len(sections) == 1:
    162168            return []  # No declarations to emit, just the namespace.
     
    169175        for domain in self.domains_to_generate():
    170176            type_declarations = self.type_declarations_for_domain(domain)
    171             for type_declaration in filter(lambda decl: Generator.type_has_open_fields(decl.type), type_declarations):
     177            for type_declaration in [decl for decl in type_declarations if Generator.type_has_open_fields(decl.type)]:
    172178                open_members = Generator.open_fields(type_declaration)
    173179                for type_member in sorted(open_members, key=lambda member: member.member_name):
     
    180186        sections = []
    181187        type_declarations = self.type_declarations_for_domain(domain)
    182         declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), type_declarations)
     188        declarations_to_generate = [decl for decl in type_declarations if self.type_needs_shape_assertions(decl.type)]
    183189
    184190        for type_declaration in declarations_to_generate:
     
    201207
    202208    def _generate_assertion_for_object_declaration(self, object_declaration):
    203         required_members = filter(lambda member: not member.is_optional, object_declaration.type_members)
    204         optional_members = filter(lambda member: member.is_optional, object_declaration.type_members)
     209        required_members = [member for member in object_declaration.type_members if not member.is_optional]
     210        optional_members = [member for member in object_declaration.type_members if member.is_optional]
    205211        should_count_properties = not Generator.type_has_open_fields(object_declaration.type)
    206212        lines = []
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py

    r224634 r236321  
    3131from string import Template
    3232
    33 from generator import Generator, ucfirst
    34 from generator_templates import GeneratorTemplates as Templates
    35 from models import EnumType
     33try:
     34    from .generator import Generator, ucfirst
     35    from .generator_templates import GeneratorTemplates as Templates
     36    from .models import EnumType
     37except ValueError:
     38    from generator import Generator, ucfirst
     39    from generator_templates import GeneratorTemplates as Templates
     40    from models import EnumType
    3641
    3742log = logging.getLogger('global')
     
    4752    def should_generate_domain(self, domain):
    4853        type_declarations = self.type_declarations_for_domain(domain)
    49         domain_enum_types = filter(lambda declaration: isinstance(declaration.type, EnumType), type_declarations)
     54        domain_enum_types = [declaration for declaration in type_declarations if isinstance(declaration.type, EnumType)]
    5055        return len(self.commands_for_domain(domain)) > 0 or len(self.events_for_domain(domain)) > 0 or len(domain_enum_types) > 0
    5156
    5257    def domains_to_generate(self):
    53         return filter(self.should_generate_domain, Generator.domains_to_generate(self))
     58        return list(filter(self.should_generate_domain, Generator.domains_to_generate(self)))
    5459
    5560    def generate_output(self):
    5661        sections = []
    5762        sections.append(self.generate_license())
    58         sections.extend(map(self.generate_domain, self.domains_to_generate()))
     63        sections.extend(list(map(self.generate_domain, self.domains_to_generate())))
    5964        return "\n\n".join(sections)
    6065
     
    7176        events = self.events_for_domain(domain)
    7277
    73         has_async_commands = any(map(lambda command: command.is_async, commands))
     78        has_async_commands = any([command.is_async for command in commands])
    7479        if len(events) > 0 or has_async_commands:
    7580            lines.append('InspectorBackend.register%(domain)sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "%(domain)s");' % args)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py

    r228196 r236321  
    3131from string import Template
    3232
    33 from cpp_generator import CppGenerator
    34 from generator import Generator
    35 from models import Frameworks
    36 from objc_generator import ObjCGenerator
    37 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .generator import Generator
     36    from .models import Frameworks
     37    from .objc_generator import ObjCGenerator
     38    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     39except ValueError:
     40    from cpp_generator import CppGenerator
     41    from generator import Generator
     42    from models import Frameworks
     43    from objc_generator import ObjCGenerator
     44    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3845
    3946log = logging.getLogger('global')
     
    4855
    4956    def domains_to_generate(self):
    50         return filter(self.should_generate_commands_for_domain, Generator.domains_to_generate(self))
     57        return list(filter(self.should_generate_commands_for_domain, Generator.domains_to_generate(self)))
    5158
    5259    def generate_output(self):
     
    6572        sections.append(self.generate_license())
    6673        sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPrelude).substitute(None, **header_args))
    67         sections.extend(map(self._generate_objc_handler_declarations_for_domain, domains))
     74        sections.extend(list(map(self._generate_objc_handler_declarations_for_domain, domains)))
    6875        sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPostlude).substitute(None, **header_args))
    6976        return '\n\n'.join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py

    r233122 r236321  
    3131from string import Template
    3232
    33 from cpp_generator import CppGenerator
    34 from generator import Generator
    35 from models import PrimitiveType, EnumType, AliasedType, Frameworks
    36 from objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name
    37 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     33try:
     34    from .cpp_generator import CppGenerator
     35    from .generator import Generator
     36    from .models import PrimitiveType, EnumType, AliasedType, Frameworks
     37    from .objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name
     38    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     39except ValueError:
     40    from cpp_generator import CppGenerator
     41    from generator import Generator
     42    from models import PrimitiveType, EnumType, AliasedType, Frameworks
     43    from objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name
     44    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3845
    3946log = logging.getLogger('global')
     
    4855
    4956    def domains_to_generate(self):
    50         return filter(self.should_generate_commands_for_domain, Generator.domains_to_generate(self))
     57        return list(filter(self.should_generate_commands_for_domain, Generator.domains_to_generate(self)))
    5158
    5259    def generate_output(self):
     
    6673        sections.append(self.generate_license())
    6774        sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPrelude).substitute(None, **header_args))
    68         sections.extend(map(self._generate_handler_implementation_for_domain, domains))
     75        sections.extend(list(map(self._generate_handler_implementation_for_domain, domains)))
    6976        sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPostlude).substitute(None, **header_args))
    7077        return '\n\n'.join(sections)
     
    115122            lines.append('        Ref<JSON::Object> resultObject = JSON::Object::create();')
    116123
    117             required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters)
     124            required_pointer_parameters = [parameter for parameter in command.return_parameters if not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)]
    118125            for parameter in required_pointer_parameters:
    119126                var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
     
    123130                    lines.append('        THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class))
    124131
    125             optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters)
     132            optional_pointer_parameters = [parameter for parameter in command.return_parameters if parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)]
    126133            for parameter in optional_pointer_parameters:
    127134                var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py

    r210309 r236321  
    3030from string import Template
    3131
    32 from generator import Generator
    33 from objc_generator import ObjCGenerator
    34 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator
     34    from .objc_generator import ObjCGenerator
     35    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     36except ValueError:
     37    from generator import Generator
     38    from objc_generator import ObjCGenerator
     39    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3540
    3641log = logging.getLogger('global')
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py

    r210309 r236321  
    3030from string import Template
    3131
    32 from generator import Generator
    33 from objc_generator import ObjCGenerator
    34 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator
     34    from .objc_generator import ObjCGenerator
     35    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     36except ValueError:
     37    from generator import Generator
     38    from objc_generator import ObjCGenerator
     39    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3540
    3641log = logging.getLogger('global')
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py

    r233122 r236321  
    3030from string import Template
    3131
    32 from cpp_generator import CppGenerator
    33 from generator import Generator, ucfirst
    34 from objc_generator import ObjCGenerator
    35 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .cpp_generator import CppGenerator
     34    from .generator import Generator, ucfirst
     35    from .objc_generator import ObjCGenerator
     36    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     37except ValueError:
     38    from cpp_generator import CppGenerator
     39    from generator import Generator, ucfirst
     40    from objc_generator import ObjCGenerator
     41    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3642
    3743log = logging.getLogger('global')
     
    4652
    4753    def domains_to_generate(self):
    48         return filter(self.should_generate_events_for_domain, Generator.domains_to_generate(self))
     54        return list(filter(self.should_generate_events_for_domain, Generator.domains_to_generate(self)))
    4955
    5056    def generate_output(self):
     
    6369        sections.append(self.generate_license())
    6470        sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args))
    65         sections.extend(map(self._generate_event_dispatcher_implementations, domains))
     71        sections.extend(list(map(self._generate_event_dispatcher_implementations, domains)))
    6672        sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args))
    6773        return '\n\n'.join(sections)
     
    101107        lines.append('')
    102108
    103         required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters)
     109        required_pointer_parameters = [parameter for parameter in event.event_parameters if not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)]
    104110        for parameter in required_pointer_parameters:
    105111            var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
     
    109115                lines.append('    THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class))
    110116
    111         optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters)
     117        optional_pointer_parameters = [parameter for parameter in event.event_parameters if parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)]
    112118        for parameter in optional_pointer_parameters:
    113119            var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py

    r225243 r236321  
    3030from string import Template
    3131
    32 from generator import Generator, ucfirst
    33 from models import ObjectType, EnumType, Platforms
    34 from objc_generator import ObjCGenerator, join_type_and_name
    35 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator, ucfirst
     34    from .models import ObjectType, EnumType, Platforms
     35    from .objc_generator import ObjCGenerator, join_type_and_name
     36    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     37except ValueError:
     38    from generator import Generator, ucfirst
     39    from models import ObjectType, EnumType, Platforms
     40    from objc_generator import ObjCGenerator, join_type_and_name
     41    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3642
    3743log = logging.getLogger('global')
     
    6167
    6268        domains = self.domains_to_generate()
    63         type_domains = filter(self.should_generate_types_for_domain, domains)
    64         command_domains = filter(self.should_generate_commands_for_domain, domains)
    65         event_domains = filter(self.should_generate_events_for_domain, domains)
     69        type_domains = list(filter(self.should_generate_types_for_domain, domains))
     70        command_domains = list(filter(self.should_generate_commands_for_domain, domains))
     71        event_domains = list(filter(self.should_generate_events_for_domain, domains))
    6672
    6773        # FIXME: <https://webkit.org/b/138222> Web Inspector: Reduce unnecessary enums/types generated in ObjC Protocol Interfaces
     
    7379        sections.append(self.generate_license())
    7480        sections.append(Template(ObjCTemplates.HeaderPrelude).substitute(None, **header_args))
    75         sections.append('\n'.join(filter(None, map(self._generate_forward_declarations, type_domains))))
     81        sections.append('\n'.join([_f for _f in map(self._generate_forward_declarations, type_domains) if _f]))
    7682        sections.append(self._generate_enum_for_platforms())
    77         sections.append('\n'.join(filter(None, map(self._generate_enums, type_domains))))
    78         sections.append('\n'.join(filter(None, map(self._generate_types, type_domains))))
     83        sections.append('\n'.join([_f for _f in map(self._generate_enums, type_domains) if _f]))
     84        sections.append('\n'.join([_f for _f in map(self._generate_types, type_domains) if _f]))
    7985
    8086        if self.get_generator_setting('generate_backend', False):
    81             sections.append('\n\n'.join(filter(None, map(self._generate_command_protocols, command_domains))))
    82             sections.append('\n\n'.join(filter(None, map(self._generate_event_interfaces, event_domains))))
     87            sections.append('\n\n'.join([_f for _f in map(self._generate_command_protocols, command_domains) if _f]))
     88            sections.append('\n\n'.join([_f for _f in map(self._generate_event_interfaces, event_domains) if _f]))
    8389
    8490        sections.append(Template(ObjCTemplates.HeaderPostlude).substitute(None))
     
    172178            lines.append('- (instancetype)initWithProtocolObject:(RWIProtocolJSONObject *)jsonObject;')
    173179
    174         required_members = filter(lambda member: not member.is_optional, declaration.type_members)
    175         optional_members = filter(lambda member: member.is_optional, declaration.type_members)
     180        required_members = [member for member in declaration.type_members if not member.is_optional]
     181        optional_members = [member for member in declaration.type_members if member.is_optional]
    176182        if required_members:
    177183            lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members))
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py

    r225231 r236321  
    3030from string import Template
    3131
    32 from generator import Generator, ucfirst
    33 from objc_generator import ObjCGenerator
    34 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator, ucfirst
     34    from .objc_generator import ObjCGenerator
     35    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     36except ValueError:
     37    from generator import Generator, ucfirst
     38    from objc_generator import ObjCGenerator
     39    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3540
    3641log = logging.getLogger('global')
     
    5661        }
    5762
    58         event_domains = filter(self.should_generate_events_for_domain, self.domains_to_generate())
     63        event_domains = list(filter(self.should_generate_events_for_domain, self.domains_to_generate()))
    5964
    6065        sections = []
    6166        sections.append(self.generate_license())
    6267        sections.append(Template(ObjCTemplates.GenericHeaderPrelude).substitute(None, **header_args))
    63         sections.append('\n\n'.join(filter(None, map(self._generate_event_dispatcher_private_interfaces, event_domains))))
     68        sections.append('\n\n'.join([_f for _f in map(self._generate_event_dispatcher_private_interfaces, event_domains) if _f]))
    6469        sections.append(Template(ObjCTemplates.GenericHeaderPostlude).substitute(None, **header_args))
    6570        return '\n\n'.join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py

    r233122 r236321  
    3030from string import Template
    3131
    32 from generator import Generator
    33 from models import EnumType, Frameworks, Platforms
    34 from objc_generator import ObjCGenerator
    35 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator
     34    from .models import EnumType, Frameworks, Platforms
     35    from .objc_generator import ObjCGenerator
     36    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     37except ValueError:
     38    from generator import Generator
     39    from models import EnumType, Frameworks, Platforms
     40    from objc_generator import ObjCGenerator
     41    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3642
    3743log = logging.getLogger('global')
     
    5258
    5359    def domains_to_generate(self):
    54         return filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self))
     60        return list(filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self)))
    5561
    5662    def generate_output(self):
     
    7177        sections.append(Template(ObjCTemplates.TypeConversionsHeaderStandard).substitute(None))
    7278        sections.append(self._generate_enum_conversion_for_platforms())
    73         sections.extend(map(self._generate_enum_conversion_functions, domains))
     79        sections.extend(list(map(self._generate_enum_conversion_functions, domains)))
    7480        sections.append(Template(ObjCTemplates.TypeConversionsHeaderPostlude).substitute(None, **header_args))
    7581        return '\n\n'.join(sections)
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py

    r212462 r236321  
    2929from string import Template
    3030
    31 from generator import Generator
    32 from models import EnumType, ObjectType, ArrayType, AliasedType, PrimitiveType, Frameworks
    33 from objc_generator import ObjCGenerator
    34 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     31try:
     32    from .generator import Generator
     33    from .models import EnumType, ObjectType, ArrayType, AliasedType, PrimitiveType, Frameworks
     34    from .objc_generator import ObjCGenerator
     35    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     36except ValueError:
     37    from generator import Generator
     38    from models import EnumType, ObjectType, ArrayType, AliasedType, PrimitiveType, Frameworks
     39    from objc_generator import ObjCGenerator
     40    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3541
    3642log = logging.getLogger('global')
     
    5157
    5258    def domains_to_generate(self):
    53         return filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self))
     59        return list(filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self)))
    5460
    5561    def generate_output(self):
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py

    r225243 r236321  
    3030from string import Template
    3131
    32 from generator import Generator, ucfirst
    33 from models import ObjectType, EnumType, Frameworks
    34 from objc_generator import ObjCTypeCategory, ObjCGenerator
    35 from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     32try:
     33    from .generator import Generator, ucfirst
     34    from .models import ObjectType, EnumType, Frameworks
     35    from .objc_generator import ObjCTypeCategory, ObjCGenerator
     36    from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
     37except ValueError:
     38    from generator import Generator, ucfirst
     39    from models import ObjectType, EnumType, Frameworks
     40    from objc_generator import ObjCTypeCategory, ObjCGenerator
     41    from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
    3642
    3743log = logging.getLogger('global')
     
    5258
    5359    def domains_to_generate(self):
    54         return filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self))
     60        return list(filter(self.should_generate_types_for_domain, Generator.domains_to_generate(self)))
    5561
    5662    def generate_output(self):
     
    7682        sections.append(self.generate_license())
    7783        sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args))
    78         sections.extend(map(self.generate_type_implementations, domains))
     84        sections.extend(list(map(self.generate_type_implementations, domains)))
    7985        sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args))
    8086        return '\n\n'.join(sections)
     
    96102            lines.append(self._generate_init_method_for_payload(domain, declaration))
    97103            lines.append(self._generate_init_method_for_protocol_object(domain, declaration))
    98         required_members = filter(lambda member: not member.is_optional, declaration.type_members)
     104        required_members = [member for member in declaration.type_members if not member.is_optional]
    99105        if required_members:
    100106            lines.append('')
     
    168174        lines.append('')
    169175
    170         required_pointer_members = filter(lambda member: ObjCGenerator.is_type_objc_pointer_type(member.type), required_members)
     176        required_pointer_members = [member for member in required_members if ObjCGenerator.is_type_objc_pointer_type(member.type)]
    171177        if required_pointer_members:
    172178            for member in required_pointer_members:
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/generator.py

    r236008 r236321  
    3030from string import Template
    3131
    32 from generator_templates import GeneratorTemplates as Templates
    33 from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks, Platforms
     32try:
     33    from .generator_templates import GeneratorTemplates as Templates
     34    from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks, Platforms
     35except ValueError:
     36    from generator_templates import GeneratorTemplates as Templates
     37    from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks, Platforms
    3438
    3539log = logging.getLogger('global')
     
    142146    # These methods are overridden by subclasses.
    143147    def non_supplemental_domains(self):
    144         return filter(lambda domain: not domain.is_supplemental, self.model().domains)
     148        return [domain for domain in self.model().domains if not domain.is_supplemental]
    145149
    146150    def domains_to_generate(self):
     
    178182        if not fields:
    179183            return type_declaration.type_members
    180         return filter(lambda member: member.member_name in fields, type_declaration.type_members)
     184        return [member for member in type_declaration.type_members if member.member_name in fields]
    181185
    182186    def type_needs_shape_assertions(self, _type):
     
    191195    # Generator.types_needing_shape_assertions().
    192196    def calculate_types_requiring_shape_assertions(self, domains):
    193         domain_names = map(lambda domain: domain.domain_name, domains)
     197        domain_names = [domain.domain_name for domain in domains]
    194198        log.debug("> Calculating types that need shape assertions (eligible domains: %s)" % ", ".join(domain_names))
    195199
     
    247251            if not isinstance(_type, EnumType):
    248252                continue
    249             map(self._assign_encoding_for_enum_value, _type.enum_values())
     253            list(map(self._assign_encoding_for_enum_value, _type.enum_values()))
    250254
    251255    def _assign_encoding_for_enum_value(self, enum_value):
     
    281285
    282286        # Split on hyphen, introduce camelcase, and force uppercasing of acronyms.
    283         subwords = map(ucfirst, _ENUM_IDENTIFIER_RENAME_MAP.get(enum_value, enum_value).split('-'))
     287        subwords = list(map(ucfirst, _ENUM_IDENTIFIER_RENAME_MAP.get(enum_value, enum_value).split('-')))
    284288        return re.sub(re.compile(regex, re.IGNORECASE), replaceCallback, "".join(subwords))
    285289
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/models.py

    r227586 r236321  
    3636
    3737def find_duplicates(l):
    38     return [key for key, count in collections.Counter(l).items() if count > 1]
     38    return [key for key, count in list(collections.Counter(l).items()) if count > 1]
    3939
    4040
  • trunk/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py

    r225425 r236321  
    2525
    2626import logging
    27 from generator import Generator, ucfirst
    28 from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
     27try:
     28    from .generator import Generator, ucfirst
     29    from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
     30except ValueError:
     31    from generator import Generator, ucfirst
     32    from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks
    2933
    3034log = logging.getLogger('global')
     
    5155}
    5256
    53 _OBJC_IDENTIFIER_REVERSE_RENAME_MAP = dict((v, k) for k, v in _OBJC_IDENTIFIER_RENAME_MAP.iteritems())
     57_OBJC_IDENTIFIER_REVERSE_RENAME_MAP = dict((v, k) for k, v in _OBJC_IDENTIFIER_RENAME_MAP.items())
    5458
    5559
  • trunk/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py

    r227586 r236321  
    5050# the codegen/ module directory is flattened. So, import directly.
    5151except ImportError as e:
    52     # log.error(e) # Uncomment this to debug early import errors.
     52    #log.error(e) # Uncomment this to debug early import errors.
    5353    import models
    5454    from models import *
  • trunk/Source/JavaScriptCore/wasm/generateWasm.py

    r226395 r236321  
    7272        if ret == None:
    7373            ret = lambda op: {"name": op, "opcode": self.opcodes[op]}
    74         for op in self.opcodes.iterkeys():
     74        for op in self.opcodes.keys():
    7575            if filter(self.opcodes[op]):
    7676                yield ret(op)
  • trunk/Source/JavaScriptCore/yarr/generateYarrCanonicalizeUnicode

    r226395 r236321  
    3232import re
    3333import sys
    34 from sets import Set
    3534
    3635header = """/*
     
    8180        return open(path, mode)
    8281    except IOError as e:
    83         print "I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror)
     82        print("I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror))
    8483        exit(1)
    8584
     
    9493       
    9594    def readCaseFolding(self, file):
    96         codesSeen = Set()
     95        codesSeen = set()
    9796        for line in file:
    9897            line = line.split('#', 1)[0]
     
    155154        for i in range(len(characterSets)):
    156155            characters = ""
    157             set = characterSets[i]
    158             for ch in set:
     156            cur_set = characterSets[i]
     157            for ch in cur_set:
    159158                characters = characters + "0x{character:04x}, ".format(character=ch)
    160159            file.write("const UChar32 unicodeCharacterSet{index:d}[] = {{ {characters}0 }};\n".format(index=i, characters=characters))
     
    190189    canonicalizeHPath = args[1]
    191190    caseFoldingTxtFile = openOrExit(caseFoldingTxtPath, "r")
    192     canonicalizeHFile = openOrExit(canonicalizeHPath, "wb")
     191    canonicalizeHFile = openOrExit(canonicalizeHPath, "w")
    193192
    194193    canonicalize = Canonicalize()
  • trunk/Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py

    r235972 r236321  
    323323        lowCodePoint = None
    324324        highCodePoint = None
    325         for idx in xrange(len(matches)):
     325        for idx in range(len(matches)):
    326326            match = matches[idx]
    327327            if codePoint == match + 1:
     
    352352            highCodePoint = codePoint
    353353
    354         for idx in xrange(len(ranges)):
    355             range = ranges[idx]
    356             if lowCodePoint >= range[0] and highCodePoint <= range[1]:
     354        for idx in range(len(ranges)):
     355            cur_range = ranges[idx]
     356            if lowCodePoint >= cur_range[0] and highCodePoint <= cur_range[1]:
    357357                return
    358             if lowCodePoint <= (range[1] + 1) and highCodePoint >= (range[0] - 1):
     358            if lowCodePoint <= (cur_range[1] + 1) and highCodePoint >= (cur_range[0] - 1):
    359359                while idx < len(ranges) and highCodePoint >= (ranges[idx][0] - 1):
    360                     range = ranges[idx]
    361                     lowCodePoint = min(lowCodePoint, range[0])
    362                     highCodePoint = max(highCodePoint, range[1])
     360                    cur_range = ranges[idx]
     361                    lowCodePoint = min(lowCodePoint, cur_range[0])
     362                    highCodePoint = max(highCodePoint, cur_range[1])
    363363                    del ranges[idx]
    364                     self.codePointCount = self.codePointCount - (range[1] - range[0]) - 1
     364                    self.codePointCount = self.codePointCount - (cur_range[1] - cur_range[0]) - 1
    365365
    366366                ranges.insert(idx, (lowCodePoint, highCodePoint))
    367367                self.codePointCount = self.codePointCount + (highCodePoint - lowCodePoint) + 1
    368368                return
    369             elif highCodePoint < range[0]:
     369            elif highCodePoint < cur_range[0]:
    370370                if lowCodePoint != highCodePoint:
    371371                    ranges.insert(idx, (lowCodePoint, highCodePoint))
     
    385385    def addRangeUnorderedForMatchesAndRanges(self, lowCodePoint, highCodePoint, matches, ranges):
    386386        if len(matches) and highCodePoint >= matches[0] and lowCodePoint <= matches[-1]:
    387             for idx in xrange(len(matches)):
     387            for idx in range(len(matches)):
    388388                match = matches[idx]
    389389                if lowCodePoint <= match and highCodePoint >= match:
     
    415415                    break
    416416
    417         for idx in xrange(len(ranges)):
    418             range = ranges[idx]
    419             if lowCodePoint >= range[0] and highCodePoint <= range[1]:
     417        for idx in range(len(ranges)):
     418            cur_range = ranges[idx]
     419            if lowCodePoint >= cur_range[0] and highCodePoint <= cur_range[1]:
    420420                return
    421             if lowCodePoint <= (range[1] + 1) and highCodePoint >= (range[0] - 1):
     421            if lowCodePoint <= (cur_range[1] + 1) and highCodePoint >= (cur_range[0] - 1):
    422422                while idx < len(ranges) and highCodePoint >= (ranges[idx][0] - 1):
    423                     range = ranges[idx]
    424                     lowCodePoint = min(lowCodePoint, range[0])
    425                     highCodePoint = max(highCodePoint, range[1])
     423                    cur_range = ranges[idx]
     424                    lowCodePoint = min(lowCodePoint, cur_range[0])
     425                    highCodePoint = max(highCodePoint, cur_range[1])
    426426                    del ranges[idx]
    427                     self.codePointCount = self.codePointCount - (range[1] - range[0]) - 1
     427                    self.codePointCount = self.codePointCount - (cur_range[1] - cur_range[0]) - 1
    428428
    429429                ranges.insert(idx, (lowCodePoint, highCodePoint))
    430430                self.codePointCount = self.codePointCount + (highCodePoint - lowCodePoint) + 1
    431431                return
    432             elif highCodePoint < range[0]:
     432            elif highCodePoint < cur_range[0]:
    433433                ranges.insert(idx, (lowCodePoint, highCodePoint))
    434434                self.codePointCount = self.codePointCount + (highCodePoint - lowCodePoint) + 1
     
    460460
    461461    def removeMatchFromRanges(self, codePoint, ranges):
    462         for idx in xrange(len(ranges)):
    463             range = ranges[idx]
    464             if range[0] <= codePoint and codePoint <= range[1]:
     462        for idx in range(len(ranges)):
     463            cur_range = ranges[idx]
     464            if cur_range[0] <= codePoint and codePoint <= cur_range[1]:
    465465                ranges.pop(idx)
    466                 if range[0] < codePoint and codePoint < range[1]:
    467                     lowRange = (range[0], codePoint - 1)
    468                     highRange = (codePoint + 1, range[1])
     466                if cur_range[0] < codePoint and codePoint < cur_range[1]:
     467                    lowRange = (cur_range[0], codePoint - 1)
     468                    highRange = (codePoint + 1, cur_range[1])
    469469                    # Since list.insert inserts before the index given, handle the high range first
    470470                    if highRange[0] == highRange[1]:
     
    477477                        ranges.insert(idx, lowRange)
    478478                else:
    479                     if range[0] == codePoint:
    480                         range = (codePoint + 1, range[1])
     479                    if cur_range[0] == codePoint:
     480                        cur_range = (codePoint + 1, cur_range[1])
    481481                    else:
    482                         range = (range[0], codePoint - 1)
    483                     if range[0] == range[1]:
    484                         self.addMatchUnordered(range[0])
     482                        cur_range = (cur_range[0], codePoint - 1)
     483                    if cur_range[0] == cur_range[1]:
     484                        self.addMatchUnordered(cur_range[0])
    485485                    else:
    486                         ranges.insert(idx, range)
     486                        ranges.insert(idx, cur_range)
    487487                self.codePointCount = self.codePointCount - 1
    488488                return
     
    743743                    highCodePoint = int(codePoints[dotDot + 2:], 16)
    744744                    currentPropertyData.addRange(lowCodePoint, highCodePoint)
    745                     for codePoint in xrange(lowCodePoint, highCodePoint + 1):
     745                    for codePoint in range(lowCodePoint, highCodePoint + 1):
    746746                        commonScriptExtenstionPropertyData.removeMatch(codePoint)
    747747                        inheritedScriptExtensionPropertyData.removeMatch(codePoint)
     
    749749        # For the scripts that don't have any additional extension codePoints, copy the script
    750750        # data to the script extension with the same name
    751         for scriptName, propertyData in self.scriptsByName.iteritems():
     751        for scriptName, propertyData in self.scriptsByName.items():
    752752            if scriptName not in self.scriptExtensionsByName:
    753753                self.scriptExtensionsByName[scriptName] = propertyData
     
    949949    aliases = Aliases()
    950950
    951     propertyDataHFile = openOrExit(unicodeProertyDataHPath, "wb")
     951    propertyDataHFile = openOrExit(unicodeProertyDataHPath, "w")
    952952
    953953    propertyDataHFile.write(header)
  • trunk/Source/JavaScriptCore/yarr/hasher.py

    r235972 r236321  
    3737
    3838    strLength = len(str)
    39     characterPairs = strLength / 2
     39    characterPairs = int(strLength / 2)
    4040    remainder = strLength & 1
    4141
  • trunk/Source/WebCore/ChangeLog

    r236317 r236321  
     12018-09-21  Mike Gorse  <mgorse@suse.com>
     2
     3        Build tools should work when the /usr/bin/python is python3
     4        https://bugs.webkit.org/show_bug.cgi?id=156674
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        No new tests (no behavior change).
     9
     10        * platform/network/create-http-header-name-table: remove xreadlines.
     11
    1122018-09-21  Jer Noble  <jer.noble@apple.com>
    213
  • trunk/Source/WebCore/platform/network/create-http-header-name-table

    r235935 r236321  
    4343http_header_names = []
    4444
    45 for line in input_file.xreadlines():
     45for line in input_file:
    4646    http_header_name = line.strip()
    4747    if not http_header_name or http_header_name[:2] == '//':
  • trunk/Source/WebInspectorUI/ChangeLog

    r236298 r236321  
     12018-09-21  Mike Gorse  <mgorse@suse.com>
     2
     3        Build tools should work when the /usr/bin/python is python3
     4        https://bugs.webkit.org/show_bug.cgi?id=156674
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set
     9        in the environment.
     10
    1112018-09-20  Devin Rousso  <drousso@apple.com>
    212
  • trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl

    r233717 r236321  
    177177make_path($protocolDir, $targetResourcePath);
    178178
     179$python = $ENV{"PYTHON"} if defined($ENV{"PYTHON"});
     180
    179181# Copy over dynamically loaded files from other frameworks, even if we aren't combining resources.
    180182copy(File::Spec->catfile($ENV{'JAVASCRIPTCORE_PRIVATE_HEADERS_DIR'}, 'InspectorBackendCommands.js'), File::Spec->catfile($protocolDir, 'InspectorBackendCommands.js')) or die "Copy of InspectorBackendCommands.js failed: $!";
  • trunk/Source/cmake/WebKitCommon.cmake

    r235531 r236321  
    2222
    2323    find_package(PythonInterp 2.7.0 REQUIRED)
    24     if (PYTHON_VERSION_MAJOR GREATER 2)
    25         message(FATAL_ERROR "Python 2 is required, but Python ${PYTHON_VERSION_MAJOR} was found.")
    26     endif ()
    2724
    2825    # We cannot check for RUBY_FOUND because it is set only when the full package is installed and
Note: See TracChangeset for help on using the changeset viewer.