| 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 """Code shared by the various language-specific code generators.""" | 5 """Code shared by the various language-specific code generators.""" |
| 6 | 6 |
| 7 import os | 7 import os |
| 8 import mojom | 8 import mojom |
| 9 import mojom_pack | 9 import mojom_pack |
| 10 import re | 10 import re |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 # files to stdout. | 74 # files to stdout. |
| 75 def __init__(self, module, output_dir=None): | 75 def __init__(self, module, output_dir=None): |
| 76 self.module = module | 76 self.module = module |
| 77 self.output_dir = output_dir | 77 self.output_dir = output_dir |
| 78 | 78 |
| 79 def GetStructsFromMethods(self): | 79 def GetStructsFromMethods(self): |
| 80 result = [] | 80 result = [] |
| 81 for interface in self.module.interfaces: | 81 for interface in self.module.interfaces: |
| 82 for method in interface.methods: | 82 for method in interface.methods: |
| 83 result.append(GetStructFromMethod(interface, method)) | 83 result.append(GetStructFromMethod(interface, method)) |
| 84 if method.response_parameters != None: | |
| 85 result.append(GetResponseStructFromMethod(interface, method)) | |
| 86 return map(partial(GetStructInfo, False), result) | 84 return map(partial(GetStructInfo, False), result) |
| 87 | 85 |
| 88 def GetStructs(self): | 86 def GetStructs(self): |
| 89 return map(partial(GetStructInfo, True), self.module.structs) | 87 return map(partial(GetStructInfo, True), self.module.structs) |
| 90 | 88 |
| 91 def Write(self, contents, filename): | 89 def Write(self, contents, filename): |
| 92 if self.output_dir is None: | 90 if self.output_dir is None: |
| 93 print contents | 91 print contents |
| 94 return | 92 return |
| 95 with open(os.path.join(self.output_dir, filename), "w+") as f: | 93 with open(os.path.join(self.output_dir, filename), "w+") as f: |
| 96 f.write(contents) | 94 f.write(contents) |
| 97 | 95 |
| 98 def GenerateFiles(self): | 96 def GenerateFiles(self): |
| 99 raise NotImplementedError("Subclasses must override/implement this method") | 97 raise NotImplementedError("Subclasses must override/implement this method") |
| OLD | NEW |