Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Side by Side Diff: mojom/generators/go/translator/mojom_file.go

Issue 2082173002: New go generator shakedown. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 package translator 5 package translator
6 6
7 // TmplFile contains all of the information needed by the templates to generate 7 // TmplFile contains all of the information needed by the templates to generate
8 // the go bindings for one mojom file. 8 // the go bindings for one mojom file.
9 type TmplFile struct { 9 type TmplFile struct {
10 PackageName string 10 PackageName string
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 168
169 // IsStruct returns true if the field is a struct. 169 // IsStruct returns true if the field is a struct.
170 IsStruct() bool 170 IsStruct() bool
171 171
172 // IsUnion returns true if the field is a union. 172 // IsUnion returns true if the field is a union.
173 IsUnion() bool 173 IsUnion() bool
174 174
175 // IsEnum returns true if the field is an enum. 175 // IsEnum returns true if the field is an enum.
176 IsEnum() bool 176 IsEnum() bool
177 177
178 // IsInterface returns true if the field is an interface or interface re quest.
179 IsInterface() bool
180
181 // IsInterfaceRequest returns true if the field is an interface request.
182 IsInterfaceRequest() bool
183
178 // IsArray returns true if the field is an array. 184 // IsArray returns true if the field is an array.
179 IsArray() bool 185 IsArray() bool
180 186
181 // IsMap returns true if the field is a map. 187 // IsMap returns true if the field is a map.
182 IsMap() bool 188 IsMap() bool
183 189
184 // IsNullable returns true if the field is nullable. 190 // IsNullable returns true if the field is nullable.
185 IsNullable() bool 191 IsNullable() bool
186 setNullable(nullable bool) 192 setNullable(nullable bool)
187 193
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 } 254 }
249 255
250 func (b *baseEncodingInfo) IsUnion() bool { 256 func (b *baseEncodingInfo) IsUnion() bool {
251 return false 257 return false
252 } 258 }
253 259
254 func (b *baseEncodingInfo) IsEnum() bool { 260 func (b *baseEncodingInfo) IsEnum() bool {
255 return false 261 return false
256 } 262 }
257 263
264 func (b *baseEncodingInfo) IsInterface() bool {
265 return false
266 }
267
268 func (b *baseEncodingInfo) IsInterfaceRequest() bool {
269 return false
270 }
271
258 func (b *baseEncodingInfo) IsArray() bool { 272 func (b *baseEncodingInfo) IsArray() bool {
259 return false 273 return false
260 } 274 }
261 275
262 func (b *baseEncodingInfo) IsMap() bool { 276 func (b *baseEncodingInfo) IsMap() bool {
263 return false 277 return false
264 } 278 }
265 279
266 func (b *baseEncodingInfo) ElementEncodingInfo() EncodingInfo { 280 func (b *baseEncodingInfo) ElementEncodingInfo() EncodingInfo {
267 panic("Only arrays have elements!") 281 panic("Only arrays have elements!")
(...skipping 19 matching lines...) Expand all
287 func (b *baseEncodingInfo) GoType() string { 301 func (b *baseEncodingInfo) GoType() string {
288 return b.goType 302 return b.goType
289 } 303 }
290 304
291 func (b *baseEncodingInfo) setGoType(goType string) { 305 func (b *baseEncodingInfo) setGoType(goType string) {
292 b.goType = goType 306 b.goType = goType
293 } 307 }
294 308
295 //////////////////////////////////////////////////////////////////////////////// 309 ////////////////////////////////////////////////////////////////////////////////
296 310
311 type baseNullableEncodingInfo struct {
312 baseEncodingInfo
313 nullable bool
314 }
315
316 func (b *baseNullableEncodingInfo) IsNullable() bool {
317 return b.nullable
318 }
319
320 func (b *baseNullableEncodingInfo) setNullable(nullable bool) {
321 b.nullable = nullable
322 }
323
324 ////////////////////////////////////////////////////////////////////////////////
325
297 // basePointerEncodingInfo implements the EncodingInfo for pointer types. 326 // basePointerEncodingInfo implements the EncodingInfo for pointer types.
298 type basePointerEncodingInfo struct { 327 type basePointerEncodingInfo struct {
299 » baseEncodingInfo 328 » baseNullableEncodingInfo
300 » nullable bool
301 }
302
303 func (b *basePointerEncodingInfo) IsNullable() bool {
304 » return b.nullable
305 }
306
307 func (b *basePointerEncodingInfo) setNullable(nullable bool) {
308 » b.nullable = nullable
309 } 329 }
310 330
311 func (b *basePointerEncodingInfo) IsPointer() bool { 331 func (b *basePointerEncodingInfo) IsPointer() bool {
312 return true 332 return true
313 } 333 }
314 334
315 func (b *basePointerEncodingInfo) BitSize() uint32 { 335 func (b *basePointerEncodingInfo) BitSize() uint32 {
316 return uint32(64) 336 return uint32(64)
317 } 337 }
318 338
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 return "WriteString" 377 return "WriteString"
358 } 378 }
359 379
360 func (t *stringTypeEncodingInfo) ReadFunction() string { 380 func (t *stringTypeEncodingInfo) ReadFunction() string {
361 return "ReadString" 381 return "ReadString"
362 } 382 }
363 383
364 //////////////////////////////////////////////////////////////////////////////// 384 ////////////////////////////////////////////////////////////////////////////////
365 385
366 type handleTypeEncodingInfo struct { 386 type handleTypeEncodingInfo struct {
367 » baseEncodingInfo 387 » baseNullableEncodingInfo
368 » nullable bool
369 readFunction string 388 readFunction string
370 } 389 }
371 390
372 func (t *handleTypeEncodingInfo) IsHandle() bool { 391 func (t *handleTypeEncodingInfo) IsHandle() bool {
373 return true 392 return true
374 } 393 }
375 394
376 func (t *handleTypeEncodingInfo) IsNullable() bool {
377 return t.nullable
378 }
379
380 func (t *handleTypeEncodingInfo) BitSize() uint32 { 395 func (t *handleTypeEncodingInfo) BitSize() uint32 {
381 return 32 396 return 32
382 } 397 }
383 398
384 func (t *handleTypeEncodingInfo) WriteFunction() string { 399 func (t *handleTypeEncodingInfo) WriteFunction() string {
385 panic("No write function needs to be specified for handles.") 400 panic("No write function needs to be specified for handles.")
386 } 401 }
387 402
388 func (t *handleTypeEncodingInfo) ReadFunction() string { 403 func (t *handleTypeEncodingInfo) ReadFunction() string {
389 return t.readFunction 404 return t.readFunction
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 } 473 }
459 474
460 func (t *structTypeEncodingInfo) ReadFunction() string { 475 func (t *structTypeEncodingInfo) ReadFunction() string {
461 panic("Structs don't have a read function.") 476 panic("Structs don't have a read function.")
462 } 477 }
463 478
464 //////////////////////////////////////////////////////////////////////////////// 479 ////////////////////////////////////////////////////////////////////////////////
465 480
466 // unionTypeEncodingInfo is the EncodingInfo for a union. 481 // unionTypeEncodingInfo is the EncodingInfo for a union.
467 type unionTypeEncodingInfo struct { 482 type unionTypeEncodingInfo struct {
468 » baseEncodingInfo 483 » baseNullableEncodingInfo
469 nestedUnion bool 484 nestedUnion bool
470 nullable bool
471 } 485 }
472 486
473 func (t *unionTypeEncodingInfo) BitSize() uint32 { 487 func (t *unionTypeEncodingInfo) BitSize() uint32 {
474 if t.nestedUnion { 488 if t.nestedUnion {
475 return uint32(64) 489 return uint32(64)
476 } 490 }
477 return uint32(128) 491 return uint32(128)
478 } 492 }
479 493
480 func (t *unionTypeEncodingInfo) IsUnion() bool { 494 func (t *unionTypeEncodingInfo) IsUnion() bool {
481 return true 495 return true
482 } 496 }
483 497
484 func (t *unionTypeEncodingInfo) IsPointer() bool { 498 func (t *unionTypeEncodingInfo) IsPointer() bool {
485 return t.nestedUnion 499 return t.nestedUnion
486 } 500 }
487 501
488 func (b *unionTypeEncodingInfo) IsNullable() bool {
489 return b.nullable
490 }
491
492 func (b *unionTypeEncodingInfo) setNullable(nullable bool) {
493 b.nullable = nullable
494 }
495
496 func (t *unionTypeEncodingInfo) WriteFunction() string { 502 func (t *unionTypeEncodingInfo) WriteFunction() string {
497 panic("Unions don't have a write function.") 503 panic("Unions don't have a write function.")
498 } 504 }
499 505
500 func (t *unionTypeEncodingInfo) ReadFunction() string { 506 func (t *unionTypeEncodingInfo) ReadFunction() string {
501 panic("Unions don't have a read function.") 507 panic("Unions don't have a read function.")
502 } 508 }
503 509
504 //////////////////////////////////////////////////////////////////////////////// 510 ////////////////////////////////////////////////////////////////////////////////
505 511
(...skipping 10 matching lines...) Expand all
516 return true 522 return true
517 } 523 }
518 524
519 func (t *enumTypeEncodingInfo) WriteFunction() string { 525 func (t *enumTypeEncodingInfo) WriteFunction() string {
520 panic("Enums don't have a write function.") 526 panic("Enums don't have a write function.")
521 } 527 }
522 528
523 func (t *enumTypeEncodingInfo) ReadFunction() string { 529 func (t *enumTypeEncodingInfo) ReadFunction() string {
524 return "ReadInt32" 530 return "ReadInt32"
525 } 531 }
532
533 ////////////////////////////////////////////////////////////////////////////////
534
535 type interfaceTypeEncodingInfo struct {
536 baseNullableEncodingInfo
537 interfaceRequest bool
538 }
539
540 func (t *interfaceTypeEncodingInfo) IsInterface() bool {
541 return true
542 }
543
544 func (t *interfaceTypeEncodingInfo) IsInterfaceRequest() bool {
545 return t.interfaceRequest
546 }
547
548 func (t *interfaceTypeEncodingInfo) BitSize() uint32 {
549 if t.interfaceRequest {
550 return uint32(32)
551 } else {
552 return uint32(64)
553 }
554 }
555
556 func (t *interfaceTypeEncodingInfo) WriteFunction() string {
557 if t.interfaceRequest {
558 return "WriteHandle"
559 } else {
560 return "WriteInterface"
561 }
562 }
563
564 func (t *interfaceTypeEncodingInfo) ReadFunction() string {
565 if t.interfaceRequest {
566 return "ReadMessagePipeHandle"
567 } else {
568 return "ReadInterface"
569 }
570 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698