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

Side by Side Diff: mojo/public/tools/bindings/mojom_bindings_generator.py

Issue 2863353002: Mojo code generator: change where to add computed data to mojom definitions (Closed)
Patch Set: . Created 3 years, 7 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 unified diff | Download patch
OLDNEW
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
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
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
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())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698