OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 | 4 |
5 library backend_ast_emitter; | 5 library backend_ast_emitter; |
6 | 6 |
7 import '../tree_ir/tree_ir_nodes.dart' as tree; | 7 import '../tree_ir/tree_ir_nodes.dart' as tree; |
8 import 'backend_ast_nodes.dart'; | 8 import 'backend_ast_nodes.dart'; |
9 import '../constants/expressions.dart'; | 9 import '../constants/expressions.dart'; |
10 import '../constants/values.dart'; | 10 import '../constants/values.dart'; |
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
731 List<TypeAnnotation> typeArguments = exp.type.treatAsRaw | 731 List<TypeAnnotation> typeArguments = exp.type.treatAsRaw |
732 ? null | 732 ? null |
733 : exp.type.typeArguments.map(TypeGenerator.createType) | 733 : exp.type.typeArguments.map(TypeGenerator.createType) |
734 .toList(growable: false); | 734 .toList(growable: false); |
735 return new LiteralMap(entries, typeArguments: typeArguments); | 735 return new LiteralMap(entries, typeArguments: typeArguments); |
736 } | 736 } |
737 | 737 |
738 @override | 738 @override |
739 Expression visitTypeOperator(tree.TypeOperator exp, | 739 Expression visitTypeOperator(tree.TypeOperator exp, |
740 BuilderContext<Statement> context) { | 740 BuilderContext<Statement> context) { |
741 return new TypeOperator(visitExpression(exp.value, context), | 741 return new TypeOperator(visitExpression(exp.receiver, context), |
742 exp.operator, | 742 exp.operator, |
743 TypeGenerator.createType(exp.type)); | 743 TypeGenerator.createType(exp.type)); |
744 } | 744 } |
745 | 745 |
746 List<Argument> emitArguments(List<Expression> arguments, | 746 List<Argument> emitArguments(List<Expression> arguments, |
747 Selector selector) { | 747 Selector selector) { |
748 int positionalArgumentCount = selector.positionalArgumentCount; | 748 int positionalArgumentCount = selector.positionalArgumentCount; |
749 List<Argument> result = new List<Argument>.generate(positionalArgumentCount, | 749 List<Argument> result = new List<Argument>.generate(positionalArgumentCount, |
750 (i) => arguments[i]); | 750 (i) => arguments[i]); |
751 for (int i = 0; i < selector.namedArgumentCount; ++i) { | 751 for (int i = 0; i < selector.namedArgumentCount; ++i) { |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1442 : super(name, ElementKind.VARIABLE, enclosingElement, variables, null); | 1442 : super(name, ElementKind.VARIABLE, enclosingElement, variables, null); |
1443 | 1443 |
1444 ExecutableElement get executableContext => enclosingElement; | 1444 ExecutableElement get executableContext => enclosingElement; |
1445 | 1445 |
1446 ExecutableElement get memberContext => executableContext.memberContext; | 1446 ExecutableElement get memberContext => executableContext.memberContext; |
1447 | 1447 |
1448 bool get isLocal => true; | 1448 bool get isLocal => true; |
1449 | 1449 |
1450 LibraryElement get implementationLibrary => enclosingElement.library; | 1450 LibraryElement get implementationLibrary => enclosingElement.library; |
1451 } | 1451 } |
OLD | NEW |