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 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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 if IsTypemappedKind(kind): | 176 if IsTypemappedKind(kind): |
177 return GetNativeTypeName(kind) | 177 return GetNativeTypeName(kind) |
178 if mojom.IsEnumKind(kind): | 178 if mojom.IsEnumKind(kind): |
179 return GetNameForKind(kind) | 179 return GetNameForKind(kind) |
180 if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind): | 180 if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind): |
181 return "%sPtr" % GetNameForKind(kind) | 181 return "%sPtr" % GetNameForKind(kind) |
182 if mojom.IsArrayKind(kind): | 182 if mojom.IsArrayKind(kind): |
183 pattern = "mojo::WTFArray<%s>" if _for_blink else "mojo::Array<%s>" | 183 pattern = "mojo::WTFArray<%s>" if _for_blink else "mojo::Array<%s>" |
184 return pattern % GetCppArrayArgWrapperType(kind.kind) | 184 return pattern % GetCppArrayArgWrapperType(kind.kind) |
185 if mojom.IsMapKind(kind): | 185 if mojom.IsMapKind(kind): |
186 return "mojo::Map<%s, %s> " % (GetCppArrayArgWrapperType(kind.key_kind), | 186 pattern = "mojo::WTFMap<%s, %s>" if _for_blink else "mojo::Map<%s, %s>" |
187 GetCppArrayArgWrapperType(kind.value_kind)) | 187 return pattern % (GetCppArrayArgWrapperType(kind.key_kind), |
| 188 GetCppArrayArgWrapperType(kind.value_kind)) |
188 if mojom.IsInterfaceKind(kind): | 189 if mojom.IsInterfaceKind(kind): |
189 raise Exception("Arrays of interfaces not yet supported!") | 190 raise Exception("Arrays of interfaces not yet supported!") |
190 if mojom.IsInterfaceRequestKind(kind): | 191 if mojom.IsInterfaceRequestKind(kind): |
191 raise Exception("Arrays of interface requests not yet supported!") | 192 raise Exception("Arrays of interface requests not yet supported!") |
192 if mojom.IsAssociatedInterfaceKind(kind): | 193 if mojom.IsAssociatedInterfaceKind(kind): |
193 raise Exception("Arrays of associated interfaces not yet supported!") | 194 raise Exception("Arrays of associated interfaces not yet supported!") |
194 if mojom.IsAssociatedInterfaceRequestKind(kind): | 195 if mojom.IsAssociatedInterfaceRequestKind(kind): |
195 raise Exception("Arrays of associated interface requests not yet " | 196 raise Exception("Arrays of associated interface requests not yet " |
196 "supported!") | 197 "supported!") |
197 if mojom.IsStringKind(kind): | 198 if mojom.IsStringKind(kind): |
(...skipping 14 matching lines...) Expand all Loading... |
212 if IsTypemappedKind(kind): | 213 if IsTypemappedKind(kind): |
213 return GetNativeTypeName(kind) | 214 return GetNativeTypeName(kind) |
214 if mojom.IsEnumKind(kind): | 215 if mojom.IsEnumKind(kind): |
215 return GetNameForKind(kind) | 216 return GetNameForKind(kind) |
216 if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind): | 217 if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind): |
217 return "%sPtr" % GetNameForKind(kind) | 218 return "%sPtr" % GetNameForKind(kind) |
218 if mojom.IsArrayKind(kind): | 219 if mojom.IsArrayKind(kind): |
219 pattern = "mojo::WTFArray<%s>" if _for_blink else "mojo::Array<%s>" | 220 pattern = "mojo::WTFArray<%s>" if _for_blink else "mojo::Array<%s>" |
220 return pattern % GetCppArrayArgWrapperType(kind.kind) | 221 return pattern % GetCppArrayArgWrapperType(kind.kind) |
221 if mojom.IsMapKind(kind): | 222 if mojom.IsMapKind(kind): |
222 return "mojo::Map<%s, %s>" % (GetCppArrayArgWrapperType(kind.key_kind), | 223 pattern = "mojo::WTFMap<%s, %s>" if _for_blink else "mojo::Map<%s, %s>" |
223 GetCppArrayArgWrapperType(kind.value_kind)) | 224 return pattern % (GetCppArrayArgWrapperType(kind.key_kind), |
| 225 GetCppArrayArgWrapperType(kind.value_kind)) |
224 if mojom.IsInterfaceKind(kind): | 226 if mojom.IsInterfaceKind(kind): |
225 return "%sPtr" % GetNameForKind(kind) | 227 return "%sPtr" % GetNameForKind(kind) |
226 if mojom.IsInterfaceRequestKind(kind): | 228 if mojom.IsInterfaceRequestKind(kind): |
227 return "%sRequest" % GetNameForKind(kind.kind) | 229 return "%sRequest" % GetNameForKind(kind.kind) |
228 if mojom.IsAssociatedInterfaceKind(kind): | 230 if mojom.IsAssociatedInterfaceKind(kind): |
229 return "%sAssociatedPtrInfo" % GetNameForKind(kind.kind) | 231 return "%sAssociatedPtrInfo" % GetNameForKind(kind.kind) |
230 if mojom.IsAssociatedInterfaceRequestKind(kind): | 232 if mojom.IsAssociatedInterfaceRequestKind(kind): |
231 return "%sAssociatedRequest" % GetNameForKind(kind.kind) | 233 return "%sAssociatedRequest" % GetNameForKind(kind.kind) |
232 if mojom.IsStringKind(kind): | 234 if mojom.IsStringKind(kind): |
233 return "WTF::String" if _for_blink else "mojo::String" | 235 return "WTF::String" if _for_blink else "mojo::String" |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 _for_blink = self.for_blink | 525 _for_blink = self.for_blink |
524 global _variant | 526 global _variant |
525 _variant = self.variant | 527 _variant = self.variant |
526 suffix = "-%s" % self.variant if self.variant else "" | 528 suffix = "-%s" % self.variant if self.variant else "" |
527 self.Write(self.GenerateModuleHeader(), | 529 self.Write(self.GenerateModuleHeader(), |
528 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) | 530 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) |
529 self.Write(self.GenerateModuleInternalHeader(), | 531 self.Write(self.GenerateModuleInternalHeader(), |
530 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) | 532 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) |
531 self.Write(self.GenerateModuleSource(), | 533 self.Write(self.GenerateModuleSource(), |
532 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) | 534 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) |
OLD | NEW |