| Index: mojo/dart/tools/presubmit/check_mojom_dart.py
|
| diff --git a/mojo/dart/tools/presubmit/check_mojom_dart.py b/mojo/dart/tools/presubmit/check_mojom_dart.py
|
| index 5032f26a9db4072282c18d8049454caf3a18fdc4..d89f3f98277ffe1eac969e778cf2aad068c26623 100755
|
| --- a/mojo/dart/tools/presubmit/check_mojom_dart.py
|
| +++ b/mojo/dart/tools/presubmit/check_mojom_dart.py
|
| @@ -25,15 +25,14 @@ sys.path.insert(0, os.path.join(SRC_DIR,
|
| 'pylib'))
|
|
|
| from mojom.error import Error
|
| -from mojom.parse.parser import Parse
|
| -from mojom.parse.translate import Translate
|
| +from mojom.parse import parser_runner
|
| +from mojom.generate import mojom_translator
|
|
|
| PACKAGES_DIR = os.path.join(SRC_DIR, 'mojo', 'dart', 'packages')
|
| +SDK_DIR = os.path.join(SRC_DIR, 'mojo', 'public')
|
|
|
| # Script that calculates mojom output paths.
|
| -DART_OUTPUTS_SCRIPT = os.path.join(SRC_DIR,
|
| - 'mojo',
|
| - 'public',
|
| +DART_OUTPUTS_SCRIPT = os.path.join(SDK_DIR,
|
| 'tools',
|
| 'bindings',
|
| 'mojom_list_dart_outputs.py')
|
| @@ -43,36 +42,34 @@ def run(cwd, args):
|
| return subprocess.check_output(args, cwd=cwd)
|
|
|
|
|
| -# Given a parsed mojom, return the path of the .mojom.dart relative to its
|
| +# Given a mojom.Module, return the path of the .mojom.dart relative to its
|
| # package directory.
|
| def _mojom_output_path(mojom):
|
| - name = mojom['name']
|
| - namespace = mojom['namespace']
|
| + name = mojom.name
|
| + namespace = mojom.namespace
|
| elements = ['lib']
|
| elements.extend(namespace.split('.'))
|
| elements.append("%s.dart" % name)
|
| return os.path.join(*elements)
|
|
|
|
|
| -# Given a parsed mojom, return the package or None.
|
| +# Given a mojom.Module, return the package or None.
|
| def _mojom_package(mojom):
|
| - attributes = mojom.get('attributes', {})
|
| - return attributes.get('DartPackage')
|
| + if mojom.attributes:
|
| + return mojom.attributes.get('DartPackage')
|
|
|
| -
|
| -# Load and parse a .mojom file. Returns the parsed mojom.
|
| +# Load and parse a .mojom file. Returns the mojom.Module or raises an Exception
|
| +# if there was an error.
|
| def _load_mojom(path_to_mojom):
|
| filename = os.path.abspath(path_to_mojom)
|
| - name = os.path.basename(filename)
|
|
|
| - # Read in mojom file.
|
| - with open(filename) as f:
|
| - source = f.read()
|
| # Parse
|
| - tree = Parse(source, name)
|
| - mojom = Translate(tree, name)
|
| - return mojom
|
| -
|
| + mojom_file_graph = parser_runner.ParseToMojomFileGraph(SDK_DIR, [filename],
|
| + meta_data_only=True)
|
| + if mojom_file_graph is None:
|
| + raise Exception
|
| + mojom_dict = mojom_translator.TranslateFileGraph(mojom_file_graph)
|
| + return mojom_dict[filename]
|
|
|
| def _print_regenerate_message(package):
|
| print("""
|
|
|