diff options
Diffstat (limited to 'Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py')
-rwxr-xr-x | Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py index 6753e2dcf..2dbda8bca 100755 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py +++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py @@ -30,10 +30,16 @@ import re import string from string import Template -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks +try: + from .cpp_generator import CppGenerator + from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates + from .generator import Generator, ucfirst + from .models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks +except ValueError: + from cpp_generator import CppGenerator + from cpp_generator_templates import CppGeneratorTemplates as CppTemplates + from generator import Generator, ucfirst + from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks log = logging.getLogger('global') @@ -80,8 +86,8 @@ class CppProtocolTypesHeaderGenerator(Generator): ' return getEnumConstantValue(static_cast<int>(enumValue));', '}'])) - builder_sections = map(self._generate_builders_for_domain, domains) - sections.extend(filter(lambda section: len(section) > 0, builder_sections)) + builder_sections = list(map(self._generate_builders_for_domain, domains)) + sections.extend([section for section in builder_sections if len(section) > 0]) sections.append(self._generate_forward_declarations_for_binding_traits()) sections.append('} // namespace Protocol') sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) @@ -96,8 +102,8 @@ class CppProtocolTypesHeaderGenerator(Generator): for domain in domains: declaration_types = [decl.type for decl in domain.type_declarations] - object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types) - enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types) + object_types = [_type for _type in declaration_types if isinstance(_type, ObjectType)] + enum_types = [_type for _type in declaration_types if isinstance(_type, EnumType)] if len(object_types) + len(enum_types) == 0: continue @@ -122,8 +128,8 @@ class CppProtocolTypesHeaderGenerator(Generator): """ % '\n\n'.join(sections) def _generate_typedefs(self, domains): - sections = map(self._generate_typedefs_for_domain, domains) - sections = filter(lambda text: len(text) > 0, sections) + sections = list(map(self._generate_typedefs_for_domain, domains)) + sections = [text for text in sections if len(text) > 0] if len(sections) == 0: return '' @@ -133,8 +139,8 @@ class CppProtocolTypesHeaderGenerator(Generator): // End of typedefs.""" % '\n\n'.join(sections) def _generate_typedefs_for_domain(self, domain): - primitive_declarations = filter(lambda decl: isinstance(decl.type, AliasedType), domain.type_declarations) - array_declarations = filter(lambda decl: isinstance(decl.type, ArrayType), domain.type_declarations) + primitive_declarations = [decl for decl in domain.type_declarations if isinstance(decl.type, AliasedType)] + array_declarations = [decl for decl in domain.type_declarations if isinstance(decl.type, ArrayType)] if len(primitive_declarations) == 0 and len(array_declarations) == 0: return '' @@ -170,7 +176,7 @@ class CppProtocolTypesHeaderGenerator(Generator): elif isinstance(type_declaration.type, ObjectType): sections.append(self._generate_class_for_object_declaration(type_declaration, domain)) - sections = filter(lambda section: len(section) > 0, sections) + sections = [section for section in sections if len(section) > 0] if len(sections) == 0: return '' @@ -184,9 +190,9 @@ class CppProtocolTypesHeaderGenerator(Generator): if len(type_declaration.type_members) == 0: return '' - enum_members = filter(lambda member: isinstance(member.type, EnumType) and member.type.is_anonymous, type_declaration.type_members) - required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) - optional_members = filter(lambda member: member.is_optional, type_declaration.type_members) + enum_members = [member for member in type_declaration.type_members if isinstance(member.type, EnumType) and member.type.is_anonymous] + required_members = [member for member in type_declaration.type_members if not member.is_optional] + optional_members = [member for member in type_declaration.type_members if member.is_optional] object_name = type_declaration.type_name lines = [] @@ -244,7 +250,7 @@ class CppProtocolTypesHeaderGenerator(Generator): else: return ' ' + line - indented_lines = map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type)) + indented_lines = list(map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type))) return '\n'.join(indented_lines) def _generate_struct_for_enum_type(self, enum_name, enum_type): @@ -258,7 +264,7 @@ class CppProtocolTypesHeaderGenerator(Generator): def _generate_builder_state_enum(self, type_declaration): lines = [] - required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) + required_members = [member for member in type_declaration.type_members if not member.is_optional] enum_values = [] lines.append(' enum {') @@ -323,7 +329,7 @@ class CppProtocolTypesHeaderGenerator(Generator): type_arguments = [] for domain in self.domains_to_generate(): - declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), domain.type_declarations) + declarations_to_generate = [decl for decl in domain.type_declarations if self.type_needs_shape_assertions(decl.type)] for type_declaration in declarations_to_generate: for type_member in type_declaration.type_members: |