Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1055)

Unified Diff: Tools/Scripts/webkitpy/bindings/main.py

Issue 670663002: IDL: Use IdlReader to compute interface_info_individual (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Tools/Scripts/webkitpy/bindings/main.py
diff --git a/Tools/Scripts/webkitpy/bindings/main.py b/Tools/Scripts/webkitpy/bindings/main.py
index c1cf97171d035f1221083203940dc33a41f889d1..cbc38cec11b87888433ed96f0fec7ffba37ab242 100644
--- a/Tools/Scripts/webkitpy/bindings/main.py
+++ b/Tools/Scripts/webkitpy/bindings/main.py
@@ -45,6 +45,7 @@ from bindings.scripts.compute_interfaces_info_individual import compute_info_ind
import bindings.scripts.compute_interfaces_info_overall
from bindings.scripts.compute_interfaces_info_overall import compute_interfaces_info_overall, interfaces_info
from bindings.scripts.idl_compiler import IdlCompilerDictionaryImpl, IdlCompilerV8
+from bindings.scripts.idl_reader import IdlReader
from bindings.scripts.utilities import idl_filename_to_component
@@ -69,6 +70,11 @@ DEPENDENCY_IDL_FILES = frozenset([
'TestPartialInterface3.idl',
])
+# core/inspector/InspectorInstrumentation.idl is not a valid Blink IDL.
+NON_BLINK_IDL_FILES = frozenset([
+ 'InspectorInstrumentation.idl',
+])
+
COMPONENT_DIRECTORY = frozenset(['core', 'modules'])
test_input_directory = os.path.join(source_path, 'bindings', 'tests', 'idls')
@@ -93,7 +99,7 @@ def TemporaryDirectory():
shutil.rmtree(name)
-def generate_interface_dependencies():
+def generate_interface_dependencies(output_directory):
def idl_paths_recursive(directory):
# This is slow, especially on Windows, due to os.walk making
# excess stat() calls. Faster versions may appear in Python 3.5 or
@@ -134,9 +140,12 @@ def generate_interface_dependencies():
# In order to allow test IDL files to override the production IDL files if
# they have the same interface name, process the test IDL files after the
# non-test IDL files.
+ reader = IdlReader(outputdir=output_directory)
for idl_path_list in (non_test_idl_paths, test_idl_paths):
for idl_path in idl_path_list:
- compute_info_individual(idl_path)
+ if os.path.basename(idl_path) in NON_BLINK_IDL_FILES:
+ continue
+ compute_info_individual(idl_path, reader)
info_individuals = [info_individual()]
# TestDictionary.{h,cpp} are placed under Source/bindings/tests/idls/core.
# However, IdlCompiler generates TestDictionary.{h,cpp} by using relative_dir.
@@ -235,7 +244,7 @@ def bindings_tests(output_directory, verbose):
return True
try:
- generate_interface_dependencies()
+ generate_interface_dependencies(output_directory)
for component in COMPONENT_DIRECTORY:
output_dir = os.path.join(output_directory, component)
if not os.path.exists(output_dir):

Powered by Google App Engine
This is Rietveld 408576698