OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 library kernel.ast_to_binary; | 4 library kernel.ast_to_binary; |
5 | 5 |
6 import '../ast.dart'; | 6 import '../ast.dart'; |
7 import '../import_table.dart'; | 7 import '../import_table.dart'; |
8 import 'tag.dart'; | 8 import 'tag.dart'; |
9 import 'dart:convert'; | 9 import 'dart:convert'; |
10 import 'dart:typed_data'; | 10 import 'dart:typed_data'; |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 writeName(node.name); | 468 writeName(node.name); |
469 writeUriReference(node.fileUri ?? ''); | 469 writeUriReference(node.fileUri ?? ''); |
470 writeAnnotationList(node.annotations); | 470 writeAnnotationList(node.annotations); |
471 writeNode(node.type); | 471 writeNode(node.type); |
472 writeOptionalNode(node.initializer); | 472 writeOptionalNode(node.initializer); |
473 _variableIndexer = null; | 473 _variableIndexer = null; |
474 } | 474 } |
475 | 475 |
476 visitInvalidInitializer(InvalidInitializer node) { | 476 visitInvalidInitializer(InvalidInitializer node) { |
477 writeByte(Tag.InvalidInitializer); | 477 writeByte(Tag.InvalidInitializer); |
| 478 writeByte(node.isSynthetic ? 1 : 0); |
478 } | 479 } |
479 | 480 |
480 visitFieldInitializer(FieldInitializer node) { | 481 visitFieldInitializer(FieldInitializer node) { |
481 writeByte(Tag.FieldInitializer); | 482 writeByte(Tag.FieldInitializer); |
| 483 writeByte(node.isSynthetic ? 1 : 0); |
482 writeReference(node.fieldReference); | 484 writeReference(node.fieldReference); |
483 writeNode(node.value); | 485 writeNode(node.value); |
484 } | 486 } |
485 | 487 |
486 visitSuperInitializer(SuperInitializer node) { | 488 visitSuperInitializer(SuperInitializer node) { |
487 writeByte(Tag.SuperInitializer); | 489 writeByte(Tag.SuperInitializer); |
| 490 writeByte(node.isSynthetic ? 1 : 0); |
488 writeReference(node.targetReference); | 491 writeReference(node.targetReference); |
489 writeNode(node.arguments); | 492 writeNode(node.arguments); |
490 } | 493 } |
491 | 494 |
492 visitRedirectingInitializer(RedirectingInitializer node) { | 495 visitRedirectingInitializer(RedirectingInitializer node) { |
493 writeByte(Tag.RedirectingInitializer); | 496 writeByte(Tag.RedirectingInitializer); |
| 497 writeByte(node.isSynthetic ? 1 : 0); |
494 writeReference(node.targetReference); | 498 writeReference(node.targetReference); |
495 writeNode(node.arguments); | 499 writeNode(node.arguments); |
496 } | 500 } |
497 | 501 |
498 visitLocalInitializer(LocalInitializer node) { | 502 visitLocalInitializer(LocalInitializer node) { |
499 writeByte(Tag.LocalInitializer); | 503 writeByte(Tag.LocalInitializer); |
| 504 writeByte(node.isSynthetic ? 1 : 0); |
500 writeVariableDeclaration(node.variable); | 505 writeVariableDeclaration(node.variable); |
501 } | 506 } |
502 | 507 |
503 visitFunctionNode(FunctionNode node) { | 508 visitFunctionNode(FunctionNode node) { |
504 writeByte(Tag.FunctionNode); | 509 writeByte(Tag.FunctionNode); |
505 assert(_variableIndexer != null); | 510 assert(_variableIndexer != null); |
506 _variableIndexer.pushScope(); | 511 _variableIndexer.pushScope(); |
507 var oldLabels = _labelIndexer; | 512 var oldLabels = _labelIndexer; |
508 _labelIndexer = new LabelIndexer(); | 513 _labelIndexer = new LabelIndexer(); |
509 var oldCases = _switchCaseIndexer; | 514 var oldCases = _switchCaseIndexer; |
(...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1509 _sink.add(_buffer.sublist(0, length)); | 1514 _sink.add(_buffer.sublist(0, length)); |
1510 _buffer = new Uint8List(SIZE); | 1515 _buffer = new Uint8List(SIZE); |
1511 flushedLength += length; | 1516 flushedLength += length; |
1512 length = 0; | 1517 length = 0; |
1513 } | 1518 } |
1514 | 1519 |
1515 void flushAndDestroy() { | 1520 void flushAndDestroy() { |
1516 _sink.add(_buffer.sublist(0, length)); | 1521 _sink.add(_buffer.sublist(0, length)); |
1517 } | 1522 } |
1518 } | 1523 } |
OLD | NEW |