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

Side by Side Diff: pkg/kernel/lib/text/ast_to_text.dart

Issue 2989563002: Preserve type variables in closure conversion. (Closed)
Patch Set: Update binary.md. Created 3 years, 4 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 (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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698