| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Generates JavaScript source files from a mojom.Module.""" | 5 """Generates JavaScript source files from a mojom.Module.""" |
| 6 | 6 |
| 7 import mojom.generate.generator as generator | 7 import mojom.generate.generator as generator |
| 8 import mojom.generate.module as mojom | 8 import mojom.generate.module as mojom |
| 9 import mojom.generate.pack as pack | 9 import mojom.generate.pack as pack |
| 10 from mojom.generate.template_expander import UseJinja | 10 from mojom.generate.template_expander import UseJinja |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 "validate_union_params": JavaScriptValidateUnionParams, | 367 "validate_union_params": JavaScriptValidateUnionParams, |
| 368 } | 368 } |
| 369 | 369 |
| 370 def GetParameters(self): | 370 def GetParameters(self): |
| 371 return { | 371 return { |
| 372 "namespace": self.module.namespace, | 372 "namespace": self.module.namespace, |
| 373 "imports": self.GetImports(), | 373 "imports": self.GetImports(), |
| 374 "kinds": self.module.kinds, | 374 "kinds": self.module.kinds, |
| 375 "enums": self.module.enums, | 375 "enums": self.module.enums, |
| 376 "module": self.module, | 376 "module": self.module, |
| 377 "structs": self.GetStructs() + self.GetStructsFromMethods(), | 377 "structs": self.GetAllStructs(), |
| 378 "unions": self.GetUnions(), | 378 "unions": self.GetUnions(), |
| 379 "interfaces": self.GetInterfaces(), | 379 "interfaces": self.GetInterfaces(), |
| 380 "imported_interfaces": self.GetImportedInterfaces(), | 380 "imported_interfaces": self.GetImportedInterfaces(), |
| 381 } | 381 } |
| 382 | 382 |
| 383 @UseJinja("js_templates/module.amd.tmpl", filters=js_filters) | 383 @UseJinja("js_templates/module.amd.tmpl", filters=js_filters) |
| 384 def GenerateAMDModule(self): | 384 def GenerateAMDModule(self): |
| 385 return self.GetParameters() | 385 return self.GetParameters() |
| 386 | 386 |
| 387 def GenerateFiles(self, args): | 387 def GenerateFiles(self, args): |
| (...skipping 11 matching lines...) Expand all Loading... |
| 399 counter = 0 | 399 counter = 0 |
| 400 while unique_name in used_names: | 400 while unique_name in used_names: |
| 401 counter += 1 | 401 counter += 1 |
| 402 unique_name = simple_name + str(counter) | 402 unique_name = simple_name + str(counter) |
| 403 | 403 |
| 404 used_names.add(unique_name) | 404 used_names.add(unique_name) |
| 405 each_import["unique_name"] = unique_name + "$" | 405 each_import["unique_name"] = unique_name + "$" |
| 406 counter += 1 | 406 counter += 1 |
| 407 return self.module.imports | 407 return self.module.imports |
| 408 | 408 |
| 409 def GetAllStructs(self): |
| 410 return filter(lambda struct: not struct.native_only, |
| 411 self.GetStructs() + self.GetStructsFromMethods()) |
| 412 |
| 409 def GetImportedInterfaces(self): | 413 def GetImportedInterfaces(self): |
| 410 interface_to_import = {}; | 414 interface_to_import = {}; |
| 411 for each_import in self.module.imports: | 415 for each_import in self.module.imports: |
| 412 for each_interface in each_import["module"].interfaces: | 416 for each_interface in each_import["module"].interfaces: |
| 413 name = each_interface.name | 417 name = each_interface.name |
| 414 interface_to_import[name] = each_import["unique_name"] + "." + name | 418 interface_to_import[name] = each_import["unique_name"] + "." + name |
| 415 return interface_to_import; | 419 return interface_to_import; |
| 416 | 420 |
| OLD | NEW |