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 | 4 |
5 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
6 | 6 |
7 import '../constants/expressions.dart'; | 7 import '../constants/expressions.dart'; |
8 import '../common.dart'; | 8 import '../common.dart'; |
9 import '../common/names.dart'; | 9 import '../common/names.dart'; |
10 import '../compiler.dart'; | 10 import '../compiler.dart'; |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 @override | 596 @override |
597 DartType visitFunctionType(ir.FunctionType node) { | 597 DartType visitFunctionType(ir.FunctionType node) { |
598 return new FunctionType.synthesized( | 598 return new FunctionType.synthesized( |
599 visitType(node.returnType), | 599 visitType(node.returnType), |
600 visitTypes(node.positionalParameters | 600 visitTypes(node.positionalParameters |
601 .take(node.requiredParameterCount) | 601 .take(node.requiredParameterCount) |
602 .toList()), | 602 .toList()), |
603 visitTypes(node.positionalParameters | 603 visitTypes(node.positionalParameters |
604 .skip(node.requiredParameterCount) | 604 .skip(node.requiredParameterCount) |
605 .toList()), | 605 .toList()), |
606 node.namedParameters.keys.toList(), | 606 node.namedParameters.map((n) => n.name).toList(), |
607 visitTypes(node.namedParameters.values.toList())); | 607 node.namedParameters.map((n) => visitType(n.type)).toList()); |
608 } | 608 } |
609 | 609 |
610 @override | 610 @override |
611 DartType visitInterfaceType(ir.InterfaceType node) { | 611 DartType visitInterfaceType(ir.InterfaceType node) { |
612 ClassElement cls = astAdapter.getElement(node.classNode); | 612 ClassElement cls = astAdapter.getElement(node.classNode); |
613 return new InterfaceType(cls, visitTypes(node.typeArguments)); | 613 return new InterfaceType(cls, visitTypes(node.typeArguments)); |
614 } | 614 } |
615 | 615 |
616 @override | 616 @override |
617 DartType visitVoidType(ir.VoidType node) { | 617 DartType visitVoidType(ir.VoidType node) { |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 astAdapter.reporter.internalError( | 693 astAdapter.reporter.internalError( |
694 CURRENT_ELEMENT_SPANNABLE, "Unexpected constant target: $element."); | 694 CURRENT_ELEMENT_SPANNABLE, "Unexpected constant target: $element."); |
695 return null; | 695 return null; |
696 } | 696 } |
697 | 697 |
698 @override | 698 @override |
699 ConstantExpression visitStringLiteral(ir.StringLiteral node) { | 699 ConstantExpression visitStringLiteral(ir.StringLiteral node) { |
700 return new StringConstantExpression(node.value); | 700 return new StringConstantExpression(node.value); |
701 } | 701 } |
702 } | 702 } |
OLD | NEW |