summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py')
-rwxr-xr-xSource/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py44
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: