Index: Source/bindings/scripts/unstable/idl_compiler.py |
diff --git a/Source/bindings/scripts/unstable/idl_compiler.py b/Source/bindings/scripts/unstable/idl_compiler.py |
index 3fbf80c75f6efb14323da268b2a506aea3bc7185..8e06aff52ae06fddf75d267d5522af20df17bd4f 100755 |
--- a/Source/bindings/scripts/unstable/idl_compiler.py |
+++ b/Source/bindings/scripts/unstable/idl_compiler.py |
@@ -38,7 +38,6 @@ For details, see bug http://crbug.com/239771 |
import optparse |
import os |
-import cPickle as pickle |
import sys |
import code_generator_v8 |
@@ -48,7 +47,6 @@ def parse_options(): |
parser = optparse.OptionParser() |
parser.add_option('--idl-attributes-file') |
parser.add_option('--output-directory') |
- parser.add_option('--interfaces-info-file') |
parser.add_option('--write-file-only-if-changed', type='int') |
# ensure output comes last, so command line easy to parse via regexes |
parser.disable_interspersed_args() |
@@ -62,23 +60,26 @@ def parse_options(): |
return options, idl_filename |
-def main(): |
- options, idl_filename = parse_options() |
+def compile_idl(idl_filename, output_directory, idl_attributes_file, |
+ curr_interfaces_info={}, reader=None, |
+ write_header_and_cpp=code_generator_v8.write_header_and_cpp): |
Nils Barth (inactive)
2014/02/25 07:29:59
I ultimately decided that a code generator object
terry
2014/02/27 23:40:26
This works for me right now. Maybe an abstract ca
|
basename = os.path.basename(idl_filename) |
interface_name, _ = os.path.splitext(basename) |
- output_directory = options.output_directory |
+ output_directory = output_directory |
- interfaces_info_filename = options.interfaces_info_file |
- if interfaces_info_filename: |
- with open(interfaces_info_filename) as interfaces_info_file: |
- interfaces_info = pickle.load(interfaces_info_file) |
- else: |
- interfaces_info = None |
+ interfaces_info = curr_interfaces_info |
- reader = idl_reader.IdlReader(interfaces_info, options.idl_attributes_file, output_directory) |
+ if reader == None: |
+ reader = idl_reader.IdlReader(interfaces_info, idl_attributes_file, output_directory) |
definitions = reader.read_idl_definitions(idl_filename) |
- code_generator_v8.write_header_and_cpp(definitions, interface_name, interfaces_info, output_directory) |
+ write_header_and_cpp(definitions, interface_name, interfaces_info, output_directory) |
+ |
+ return reader |
+def main(): |
+ options, idl_filename = parse_options() |
+ compile_idl(idl_filename, options.output_directory, options.idl_attributes_file) |
+ |
if __name__ == '__main__': |
sys.exit(main()) |