diff options
Diffstat (limited to 'mojo/public/tools/bindings/mojom_bindings_generator.py')
-rwxr-xr-x | mojo/public/tools/bindings/mojom_bindings_generator.py | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/mojo/public/tools/bindings/mojom_bindings_generator.py b/mojo/public/tools/bindings/mojom_bindings_generator.py index 57a803178e..2e39b1e873 100755 --- a/mojo/public/tools/bindings/mojom_bindings_generator.py +++ b/mojo/public/tools/bindings/mojom_bindings_generator.py @@ -7,7 +7,7 @@ import argparse -import cPickle +import pickle import hashlib import importlib import json @@ -62,10 +62,10 @@ def LoadGenerators(generators_string): for generator_name in [s.strip() for s in generators_string.split(",")]: language = generator_name.lower() if language not in _BUILTIN_GENERATORS: - print "Unknown generator name %s" % generator_name + print("Unknown generator name %s" % generator_name) sys.exit(1) generator_module = importlib.import_module( - "generators.%s" % _BUILTIN_GENERATORS[language]) + "mojo.public.tools.bindings.generators.%s" % _BUILTIN_GENERATORS[language]) generators[language] = generator_module return generators @@ -158,7 +158,7 @@ class MojomProcessor(object): for filename in typemaps: with open(filename) as f: typemaps = json.loads("".join(filter(no_comments, f.readlines()))) - for language, typemap in typemaps.iteritems(): + for language, typemap in typemaps.items(): language_map = self._typemap.get(language, {}) language_map.update(typemap) self._typemap[language] = language_map @@ -170,12 +170,13 @@ class MojomProcessor(object): return self._processed_files[rel_filename.path] if rel_filename.path in imported_filename_stack: - print "%s: Error: Circular dependency" % rel_filename.path + \ - MakeImportStackMessage(imported_filename_stack + [rel_filename.path]) + print("%s: Error: Circular dependency" % rel_filename.path + + MakeImportStackMessage(imported_filename_stack + [rel_filename.path])) sys.exit(1) tree = _UnpickleAST(_FindPicklePath(rel_filename, args.gen_directories + [args.output_dir])) + dirname = os.path.dirname(rel_filename.path) # Process all our imports first and collect the module object for each. @@ -202,7 +203,7 @@ class MojomProcessor(object): if self._should_generate(rel_filename.path): AddComputedData(module) - for language, generator_module in generator_modules.iteritems(): + for language, generator_module in generator_modules.items(): generator = generator_module.Generator( module, args.output_dir, typemap=self._typemap.get(language, {}), variant=args.variant, bytecode_path=args.bytecode_path, @@ -278,17 +279,17 @@ def _PickleAST(ast, output_file): fileutil.EnsureDirectoryExists(full_dir) try: - WriteFile(cPickle.dumps(ast), output_file) - except (IOError, cPickle.PicklingError) as e: - print "%s: Error: %s" % (output_file, str(e)) + WriteFile(pickle.dumps(ast, protocol=0), output_file) + except (IOError, pickle.PicklingError) as e: + print("%s: Error: %s" % (output_file, str(e))) sys.exit(1) def _UnpickleAST(input_file): try: with open(input_file, "rb") as f: - return cPickle.load(f) - except (IOError, cPickle.UnpicklingError) as e: - print "%s: Error: %s" % (input_file, str(e)) + return pickle.load(f) + except (IOError, pickle.UnpicklingError) as e: + print("%s: Error: %s" % (input_file, str(e))) sys.exit(1) def _ParseFile(args, rel_filename): @@ -296,14 +297,14 @@ def _ParseFile(args, rel_filename): with open(rel_filename.path) as f: source = f.read() except IOError as e: - print "%s: Error: %s" % (rel_filename.path, e.strerror) + print("%s: Error: %s" % (rel_filename.path, e.strerror)) sys.exit(1) try: tree = Parse(source, rel_filename.path) RemoveDisabledDefinitions(tree, args.enabled_features) except Error as e: - print "%s: Error: %s" % (rel_filename.path, str(e)) + print("%s: Error: %s" % (rel_filename.path, str(e))) sys.exit(1) _PickleAST(tree, _GetPicklePath(rel_filename, args.output_dir)) @@ -355,9 +356,9 @@ def _VerifyImportDeps(args, __): deps_sources.add(full_source_path.rstrip('\n')) if (not deps_sources.issuperset(mojom_imports)): - print ">>> [%s] Missing dependencies for the following imports: %s" % ( \ - args.filename[0], \ - list(mojom_imports.difference(deps_sources))) + print(">>> [%s] Missing dependencies for the following imports: %s" % ( + args.filename[0], + list(mojom_imports.difference(deps_sources)))) sys.exit(1) source_filename, _ = os.path.splitext(rel_path.relative_path()) |