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 C++ source files from a mojom.Module.""" | 5 """Generates C++ source files from a mojom.Module.""" |
6 | 6 |
7 from generate import mojom | 7 from generate import mojom |
8 from generate import mojom_pack | 8 from generate import mojom_pack |
9 from generate import mojom_generator | 9 from generate import mojom_generator |
10 | 10 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, | 134 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, |
135 "struct_from_method": mojom_generator.GetStructFromMethod, | 135 "struct_from_method": mojom_generator.GetStructFromMethod, |
136 "stylize_method": mojom_generator.StudlyCapsToCamel, | 136 "stylize_method": mojom_generator.StudlyCapsToCamel, |
137 "verify_token_type": mojom_generator.VerifyTokenType, | 137 "verify_token_type": mojom_generator.VerifyTokenType, |
138 } | 138 } |
139 | 139 |
140 def GetJinjaExports(self): | 140 def GetJinjaExports(self): |
141 return { | 141 return { |
142 "module": self.module, | 142 "module": self.module, |
143 "module_name": self.module.name, | 143 "module_name": self.module.name, |
| 144 "module_path": self.module.path, |
144 "namespace": self.module.namespace, | 145 "namespace": self.module.namespace, |
145 "imports": self.module.imports, | 146 "imports": self.module.imports, |
146 "kinds": self.module.kinds, | 147 "kinds": self.module.kinds, |
147 "enums": self.module.enums, | 148 "enums": self.module.enums, |
148 "structs": self.GetStructs(), | 149 "structs": self.GetStructs(), |
149 "interfaces": self.module.interfaces, | 150 "interfaces": self.module.interfaces, |
150 "include_prefix": self.GetIncludePrefix(), | 151 "include_prefix": self.GetIncludePrefix(), |
151 } | 152 } |
152 | 153 |
153 @UseJinja("cpp_templates/module.h.tmpl", filters=cpp_filters) | 154 @UseJinja("cpp_templates/module.h.tmpl", filters=cpp_filters) |
154 def GenerateModuleHeader(self): | 155 def GenerateModuleHeader(self): |
155 return self.GetJinjaExports() | 156 return self.GetJinjaExports() |
156 | 157 |
157 @UseJinja("cpp_templates/module_internal.h.tmpl", filters=cpp_filters) | 158 @UseJinja("cpp_templates/module-internal.h.tmpl", filters=cpp_filters) |
158 def GenerateModuleInternalHeader(self): | 159 def GenerateModuleInternalHeader(self): |
159 return self.GetJinjaExports() | 160 return self.GetJinjaExports() |
160 | 161 |
161 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) | 162 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) |
162 def GenerateModuleSource(self): | 163 def GenerateModuleSource(self): |
163 return self.GetJinjaExports() | 164 return self.GetJinjaExports() |
164 | 165 |
165 def GenerateFiles(self): | 166 def GenerateFiles(self): |
166 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name) | 167 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name) |
167 self.Write(self.GenerateModuleInternalHeader(), | 168 self.Write(self.GenerateModuleInternalHeader(), |
168 "%s_internal.h" % self.module.name) | 169 "%s-internal.h" % self.module.name) |
169 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) | 170 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) |
170 | 171 |
171 def GetIncludePrefix(self): | 172 def GetIncludePrefix(self): |
172 if not self.header_dir: | 173 if not self.header_dir: |
173 return "" | 174 return "" |
174 if self.header_dir[-1] == "/": | 175 if self.header_dir[-1] == "/": |
175 return self.header_dir | 176 return self.header_dir |
176 return self.header_dir + "/" | 177 return self.header_dir + "/" |
OLD | NEW |