OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """The frontend for the Mojo bindings system.""" | 6 """The frontend for the Mojo bindings system.""" |
7 | 7 |
8 | 8 |
9 import argparse | 9 import argparse |
10 import hashlib | 10 import hashlib |
(...skipping 23 matching lines...) Expand all Loading... |
34 if "--use_bundled_pylibs" in sys.argv[1:]: | 34 if "--use_bundled_pylibs" in sys.argv[1:]: |
35 sys.path.insert(0, os.path.join(_GetDirAbove("mojo"), "third_party")) | 35 sys.path.insert(0, os.path.join(_GetDirAbove("mojo"), "third_party")) |
36 | 36 |
37 sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), | 37 sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), |
38 "pylib")) | 38 "pylib")) |
39 | 39 |
40 from mojom.error import Error | 40 from mojom.error import Error |
41 import mojom.fileutil as fileutil | 41 import mojom.fileutil as fileutil |
42 from mojom.generate import translate | 42 from mojom.generate import translate |
43 from mojom.generate import template_expander | 43 from mojom.generate import template_expander |
| 44 from mojom.generate.generator import AddComputedData |
44 from mojom.parse.parser import Parse | 45 from mojom.parse.parser import Parse |
45 | 46 |
46 | 47 |
47 _BUILTIN_GENERATORS = { | 48 _BUILTIN_GENERATORS = { |
48 "c++": "mojom_cpp_generator.py", | 49 "c++": "mojom_cpp_generator.py", |
49 "javascript": "mojom_js_generator.py", | 50 "javascript": "mojom_js_generator.py", |
50 "java": "mojom_java_generator.py", | 51 "java": "mojom_java_generator.py", |
51 } | 52 } |
52 | 53 |
53 | 54 |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 if args.scrambled_message_id_salt: | 192 if args.scrambled_message_id_salt: |
192 ScrambleMethodOrdinals(module.interfaces, args.scrambled_message_id_salt) | 193 ScrambleMethodOrdinals(module.interfaces, args.scrambled_message_id_salt) |
193 | 194 |
194 # Set the path as relative to the source root. | 195 # Set the path as relative to the source root. |
195 module.path = rel_filename.relative_path() | 196 module.path = rel_filename.relative_path() |
196 | 197 |
197 # Normalize to unix-style path here to keep the generators simpler. | 198 # Normalize to unix-style path here to keep the generators simpler. |
198 module.path = module.path.replace('\\', '/') | 199 module.path = module.path.replace('\\', '/') |
199 | 200 |
200 if self._should_generate(rel_filename.path): | 201 if self._should_generate(rel_filename.path): |
| 202 AddComputedData(module) |
201 for language, generator_module in generator_modules.iteritems(): | 203 for language, generator_module in generator_modules.iteritems(): |
202 generator = generator_module.Generator( | 204 generator = generator_module.Generator( |
203 module, args.output_dir, typemap=self._typemap.get(language, {}), | 205 module, args.output_dir, typemap=self._typemap.get(language, {}), |
204 variant=args.variant, bytecode_path=args.bytecode_path, | 206 variant=args.variant, bytecode_path=args.bytecode_path, |
205 for_blink=args.for_blink, | 207 for_blink=args.for_blink, |
206 use_once_callback=args.use_once_callback, | 208 use_once_callback=args.use_once_callback, |
207 use_new_js_bindings=args.use_new_js_bindings, | 209 use_new_js_bindings=args.use_new_js_bindings, |
208 export_attribute=args.export_attribute, | 210 export_attribute=args.export_attribute, |
209 export_header=args.export_header, | 211 export_header=args.export_header, |
210 generate_non_variant_code=args.generate_non_variant_code) | 212 generate_non_variant_code=args.generate_non_variant_code) |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 "-o", "--output_dir", dest="output_dir", default=".", | 369 "-o", "--output_dir", dest="output_dir", default=".", |
368 help="output directory for precompiled templates") | 370 help="output directory for precompiled templates") |
369 precompile_parser.set_defaults(func=_Precompile) | 371 precompile_parser.set_defaults(func=_Precompile) |
370 | 372 |
371 args, remaining_args = parser.parse_known_args() | 373 args, remaining_args = parser.parse_known_args() |
372 return args.func(args, remaining_args) | 374 return args.func(args, remaining_args) |
373 | 375 |
374 | 376 |
375 if __name__ == "__main__": | 377 if __name__ == "__main__": |
376 sys.exit(main()) | 378 sys.exit(main()) |
OLD | NEW |