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_text; | 4 library kernel.ast_to_text; |
5 | 5 |
6 import '../ast.dart'; | 6 import '../ast.dart'; |
7 import '../import_table.dart'; | 7 import '../import_table.dart'; |
8 | 8 |
9 class Namer<T> { | 9 class Namer<T> { |
10 int index = 0; | 10 int index = 0; |
(...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 writeWord('CopyVector'); | 1054 writeWord('CopyVector'); |
1055 writeSymbol('('); | 1055 writeSymbol('('); |
1056 writeExpression(node.vectorExpression); | 1056 writeExpression(node.vectorExpression); |
1057 writeSymbol(')'); | 1057 writeSymbol(')'); |
1058 } | 1058 } |
1059 | 1059 |
1060 visitClosureCreation(ClosureCreation node) { | 1060 visitClosureCreation(ClosureCreation node) { |
1061 writeWord('MakeClosure'); | 1061 writeWord('MakeClosure'); |
1062 writeSymbol('<'); | 1062 writeSymbol('<'); |
1063 writeNode(node.functionType); | 1063 writeNode(node.functionType); |
| 1064 if (node.typeArgs.length > 0) writeSymbol(', '); |
| 1065 writeList(node.typeArgs, writeType); |
1064 writeSymbol('>'); | 1066 writeSymbol('>'); |
1065 writeSymbol('('); | 1067 writeSymbol('('); |
1066 writeMemberReference(node.topLevelFunction); | 1068 writeMemberReference(node.topLevelFunction); |
1067 writeComma(); | 1069 writeComma(); |
1068 writeExpression(node.contextVector); | 1070 writeExpression(node.contextVector); |
1069 writeSymbol(')'); | 1071 writeSymbol(')'); |
1070 } | 1072 } |
1071 | 1073 |
1072 visitLibraryDependency(LibraryDependency node) { | 1074 visitLibraryDependency(LibraryDependency node) { |
1073 writeIndentation(); | 1075 writeIndentation(); |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1668 } | 1670 } |
1669 throw 'illegal ProcedureKind: $kind'; | 1671 throw 'illegal ProcedureKind: $kind'; |
1670 } | 1672 } |
1671 | 1673 |
1672 class ExpressionPrinter { | 1674 class ExpressionPrinter { |
1673 final Printer writeer; | 1675 final Printer writeer; |
1674 final int minimumPrecedence; | 1676 final int minimumPrecedence; |
1675 | 1677 |
1676 ExpressionPrinter(this.writeer, this.minimumPrecedence); | 1678 ExpressionPrinter(this.writeer, this.minimumPrecedence); |
1677 } | 1679 } |
OLD | NEW |