Title: [161900] trunk/Source/_javascript_Core
Revision
161900
Author
[email protected]
Date
2014-01-13 12:10:22 -0800 (Mon, 13 Jan 2014)

Log Message

Web Inspector: protocol generator should support integer-typed declarations
https://bugs.webkit.org/show_bug.cgi?id=126828

Reviewed by Joseph Pecoraro.

Add new binding classes for parameter/ad-hoc and normal integer type declarations.

* inspector/scripts/CodeGeneratorInspector.py:
(TypeBindings.create_type_declaration_):
(TypeBindings.create_type_declaration_.PlainInteger):
(TypeBindings.create_type_declaration_.PlainInteger.resolve_inner):
(TypeBindings.create_type_declaration_.PlainInteger.request_user_runtime_cast):
(TypeBindings.create_type_declaration_.PlainInteger.request_internal_runtime_cast):
(TypeBindings.create_type_declaration_.PlainInteger.get_code_generator):
(TypeBindings.create_type_declaration_.PlainInteger.get_validator_call_text):
(TypeBindings.create_type_declaration_.PlainInteger.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.PlainInteger.get_type_model):
(TypeBindings.create_type_declaration_.PlainInteger.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.PlainInteger.get_array_item_c_type_text):
(TypeBindings.create_type_declaration_.TypedefInteger):
(TypeBindings.create_type_declaration_.TypedefInteger.resolve_inner):
(TypeBindings.create_type_declaration_.TypedefInteger.request_user_runtime_cast):
(TypeBindings.create_type_declaration_.TypedefInteger.request_internal_runtime_cast):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.generate_type_builder.int):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.register_use):
(TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.get_generate_pass_id):
(TypeBindings.create_type_declaration_.TypedefInteger.get_validator_call_text):
(TypeBindings.create_type_declaration_.TypedefInteger.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.TypedefInteger.get_type_model):
(TypeBindings.create_type_declaration_.TypedefInteger.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.TypedefInteger.get_array_item_c_type_text):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (161899 => 161900)


--- trunk/Source/_javascript_Core/ChangeLog	2014-01-13 19:42:27 UTC (rev 161899)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-01-13 20:10:22 UTC (rev 161900)
@@ -1,3 +1,40 @@
+2014-01-13  Brian Burg  <[email protected]>
+
+        Web Inspector: protocol generator should support integer-typed declarations
+        https://bugs.webkit.org/show_bug.cgi?id=126828
+
+        Reviewed by Joseph Pecoraro.
+
+        Add new binding classes for parameter/ad-hoc and normal integer type declarations.
+
+        * inspector/scripts/CodeGeneratorInspector.py:
+        (TypeBindings.create_type_declaration_):
+        (TypeBindings.create_type_declaration_.PlainInteger):
+        (TypeBindings.create_type_declaration_.PlainInteger.resolve_inner):
+        (TypeBindings.create_type_declaration_.PlainInteger.request_user_runtime_cast):
+        (TypeBindings.create_type_declaration_.PlainInteger.request_internal_runtime_cast):
+        (TypeBindings.create_type_declaration_.PlainInteger.get_code_generator):
+        (TypeBindings.create_type_declaration_.PlainInteger.get_validator_call_text):
+        (TypeBindings.create_type_declaration_.PlainInteger.reduce_to_raw_type):
+        (TypeBindings.create_type_declaration_.PlainInteger.get_type_model):
+        (TypeBindings.create_type_declaration_.PlainInteger.get_setter_value_expression_pattern):
+        (TypeBindings.create_type_declaration_.PlainInteger.get_array_item_c_type_text):
+        (TypeBindings.create_type_declaration_.TypedefInteger):
+        (TypeBindings.create_type_declaration_.TypedefInteger.resolve_inner):
+        (TypeBindings.create_type_declaration_.TypedefInteger.request_user_runtime_cast):
+        (TypeBindings.create_type_declaration_.TypedefInteger.request_internal_runtime_cast):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.generate_type_builder):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.generate_type_builder.int):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.register_use):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_code_generator.CodeGenerator.get_generate_pass_id):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_validator_call_text):
+        (TypeBindings.create_type_declaration_.TypedefInteger.reduce_to_raw_type):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_type_model):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_setter_value_expression_pattern):
+        (TypeBindings.create_type_declaration_.TypedefInteger.get_array_item_c_type_text):
+
 2014-01-13  Zalan Bujtas  <[email protected]>
 
         Enable SUBPIXEL_LAYOUT on Mac

Modified: trunk/Source/_javascript_Core/inspector/scripts/CodeGeneratorInspector.py (161899 => 161900)


--- trunk/Source/_javascript_Core/inspector/scripts/CodeGeneratorInspector.py	2014-01-13 19:42:27 UTC (rev 161899)
+++ trunk/Source/_javascript_Core/inspector/scripts/CodeGeneratorInspector.py	2014-01-13 20:10:22 UTC (rev 161900)
@@ -1112,6 +1112,106 @@
 
                     return TypedefString
 
+        elif json_typable["type"] == "integer":
+                if helper.is_ad_hoc:
+
+                    class PlainInteger:
+                        @classmethod
+                        def resolve_inner(cls, resolve_context):
+                            pass
+
+                        @staticmethod
+                        def request_user_runtime_cast(request):
+                            raise Exception("Unsupported")
+
+                        @staticmethod
+                        def request_internal_runtime_cast():
+                            pass
+
+                        @staticmethod
+                        def get_code_generator():
+                            return None
+
+                        @classmethod
+                        def get_validator_call_text(cls):
+                            return RawTypes.Int.get_raw_validator_call_text()
+
+                        @staticmethod
+                        def reduce_to_raw_type():
+                            return RawTypes.Int
+
+                        @staticmethod
+                        def get_type_model():
+                            return TypeModel.Int
+
+                        @staticmethod
+                        def get_setter_value_expression_pattern():
+                            return None
+
+                        @classmethod
+                        def get_array_item_c_type_text(cls):
+                            return cls.reduce_to_raw_type().get_array_item_raw_c_type_text()
+
+                    return PlainInteger
+
+                else:
+
+                    class TypedefInteger:
+                        @classmethod
+                        def resolve_inner(cls, resolve_context):
+                            pass
+
+                        @staticmethod
+                        def request_user_runtime_cast(request):
+                            raise Exception("Unsupported")
+
+                        @staticmethod
+                        def request_internal_runtime_cast():
+                            RawTypes.Int.request_raw_internal_runtime_cast()
+
+                        @staticmethod
+                        def get_code_generator():
+                            class CodeGenerator:
+                                @staticmethod
+                                def generate_type_builder(writer, generate_context):
+                                    helper.write_doc(writer)
+                                    fixed_type_name.output_comment(writer)
+                                    writer.newline("typedef int ")
+                                    writer.append(fixed_type_name.class_name)
+                                    writer.append(";\n\n")
+
+                                @staticmethod
+                                def register_use(forward_listener):
+                                    pass
+
+                                @staticmethod
+                                def get_generate_pass_id():
+                                    return TypeBuilderPass.TYPEDEF
+
+                            return CodeGenerator
+
+                        @classmethod
+                        def get_validator_call_text(cls):
+                            return RawTypes.Int.get_raw_validator_call_text()
+
+                        @staticmethod
+                        def reduce_to_raw_type():
+                            return RawTypes.Int
+
+                        @staticmethod
+                        def get_type_model():
+                            return TypeModel.Int
+
+                        @staticmethod
+                        def get_setter_value_expression_pattern():
+                            return None
+
+                        @classmethod
+                        def get_array_item_c_type_text(cls):
+                            return helper.full_name_prefix_for_use + fixed_type_name.class_name
+
+                    return TypedefInteger
+
         elif json_typable["type"] == "object":
             if "properties" in json_typable:
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to