Title: [126206] trunk/Source/WebCore
Revision
126206
Author
[email protected]
Date
2012-08-21 16:09:56 -0700 (Tue, 21 Aug 2012)

Log Message

CodeGeneratorInspector.py: Generate guards for type validators
https://bugs.webkit.org/show_bug.cgi?id=94511

Patch by Thiago Marcos P. Santos <[email protected]> on 2012-08-21
Reviewed by Yury Semikhatsky.

Fix regression when building debug and one of the generated types is
disabled by a compile flag. We should generate guards for these type
validators the same way as we are doing on the include headers.

* inspector/CodeGeneratorInspector.py:
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (126205 => 126206)


--- trunk/Source/WebCore/ChangeLog	2012-08-21 23:07:54 UTC (rev 126205)
+++ trunk/Source/WebCore/ChangeLog	2012-08-21 23:09:56 UTC (rev 126206)
@@ -1,3 +1,17 @@
+2012-08-21  Thiago Marcos P. Santos  <[email protected]>
+
+        CodeGeneratorInspector.py: Generate guards for type validators
+        https://bugs.webkit.org/show_bug.cgi?id=94511
+
+        Reviewed by Yury Semikhatsky.
+
+        Fix regression when building debug and one of the generated types is
+        disabled by a compile flag. We should generate guards for these type
+        validators the same way as we are doing on the include headers.
+
+        * inspector/CodeGeneratorInspector.py:
+        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
+
 2012-08-21  Florin Malita  <[email protected]>
 
         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()

Modified: trunk/Source/WebCore/inspector/CodeGeneratorInspector.py (126205 => 126206)


--- trunk/Source/WebCore/inspector/CodeGeneratorInspector.py	2012-08-21 23:07:54 UTC (rev 126205)
+++ trunk/Source/WebCore/inspector/CodeGeneratorInspector.py	2012-08-21 23:09:56 UTC (rev 126206)
@@ -1,5 +1,6 @@
 #!/usr/bin/env python
 # Copyright (c) 2011 Google Inc. All rights reserved.
+# Copyright (c) 2012 Intel Corporation. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -909,6 +910,12 @@
                                     writer.append("#endif  // %s\n" % VALIDATOR_IFDEF_NAME)
 
                                     validator_writer = generate_context.validator_writer
+
+                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
+                                    domain_guard = domain_fixes.get_guard()
+                                    if domain_guard:
+                                        domain_guard.generate_open(validator_writer)
+
                                     validator_writer.newline("void %s%s::assertCorrectValue(InspectorValue* value)\n" % (helper.full_name_prefix_for_impl, enum_name))
                                     validator_writer.newline("{\n")
                                     validator_writer.newline("    WTF::String s;\n")
@@ -920,9 +927,13 @@
                                             enum_pos = EnumConstants.add_constant(enum_item)
                                             condition_list.append("s == \"%s\"" % enum_item)
                                         validator_writer.newline("    ASSERT(%s);\n" % join(condition_list, " || "))
-                                    validator_writer.newline("}\n\n\n")
+                                    validator_writer.newline("}\n")
 
+                                    if domain_guard:
+                                        domain_guard.generate_close(validator_writer)
 
+                                    validator_writer.newline("\n\n")
+
                                 writer.newline("}; // struct ")
                                 writer.append(enum_name)
                                 writer.append("\n\n")
@@ -1288,6 +1299,12 @@
                                     closed_field_set = (context_domain_name + "." + class_name) not in TYPES_WITH_OPEN_FIELD_LIST_SET
 
                                     validator_writer = generate_context.validator_writer
+
+                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
+                                    domain_guard = domain_fixes.get_guard()
+                                    if domain_guard:
+                                        domain_guard.generate_open(validator_writer)
+
                                     validator_writer.newline("void %s%s::assertCorrectValue(InspectorValue* value)\n" % (helper.full_name_prefix_for_impl, class_name))
                                     validator_writer.newline("{\n")
                                     validator_writer.newline("    RefPtr<InspectorObject> object;\n")
@@ -1319,8 +1336,13 @@
 
                                     if closed_field_set:
                                         validator_writer.newline("    ASSERT(foundPropertiesCount == object->size());\n")
-                                    validator_writer.newline("}\n\n\n")
+                                    validator_writer.newline("}\n")
 
+                                    if domain_guard:
+                                        domain_guard.generate_close(validator_writer)
+
+                                    validator_writer.newline("\n\n")
+
                                 if is_open_type:
                                     cpp_writer = generate_context.cpp_writer
                                     writer.append("\n")
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to