OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 '../common.dart'; | 7 import '../common.dart'; |
8 import '../common/names.dart'; | 8 import '../common/names.dart'; |
9 import '../constants/constructors.dart'; | 9 import '../constants/constructors.dart'; |
10 import '../constants/expressions.dart'; | 10 import '../constants/expressions.dart'; |
(...skipping 25 matching lines...) Expand all Loading... |
36 | 36 |
37 /// Returns the [FunctionType] of the [node]. | 37 /// Returns the [FunctionType] of the [node]. |
38 FunctionType getFunctionType(ir.FunctionNode node); | 38 FunctionType getFunctionType(ir.FunctionNode node); |
39 | 39 |
40 /// Returns the list of [DartType]s corresponding to [types]. | 40 /// Returns the list of [DartType]s corresponding to [types]. |
41 List<DartType> getDartTypes(List<ir.DartType> types); | 41 List<DartType> getDartTypes(List<ir.DartType> types); |
42 | 42 |
43 /// Returns the [InterfaceType] corresponding to [type]. | 43 /// Returns the [InterfaceType] corresponding to [type]. |
44 InterfaceType getInterfaceType(ir.InterfaceType type); | 44 InterfaceType getInterfaceType(ir.InterfaceType type); |
45 | 45 |
| 46 /// Returns the 'this type' of [cls]. That is, the instantiation of [cls] |
| 47 /// where the type arguments are the type variables of [cls]. |
| 48 InterfaceType getThisType(ClassEntity cls); |
| 49 |
46 /// Return the [InterfaceType] corresponding to the [cls] with the given | 50 /// Return the [InterfaceType] corresponding to the [cls] with the given |
47 /// [typeArguments]. | 51 /// [typeArguments]. |
48 InterfaceType createInterfaceType( | 52 InterfaceType createInterfaceType( |
49 ir.Class cls, List<ir.DartType> typeArguments); | 53 ir.Class cls, List<ir.DartType> typeArguments); |
50 | 54 |
51 /// Returns the [CallStructure] corresponding to the [arguments]. | 55 /// Returns the [CallStructure] corresponding to the [arguments]. |
52 CallStructure getCallStructure(ir.Arguments arguments); | 56 CallStructure getCallStructure(ir.Arguments arguments); |
53 | 57 |
54 /// Returns the [Selector] corresponding to the invocation or getter/setter | 58 /// Returns the [Selector] corresponding to the invocation or getter/setter |
55 /// access of [node]. | 59 /// access of [node]. |
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1023 /// Call to notify that [member] is no longer being inlined. | 1027 /// Call to notify that [member] is no longer being inlined. |
1024 void leaveInlinedMember(MemberEntity member); | 1028 void leaveInlinedMember(MemberEntity member); |
1025 | 1029 |
1026 /// Returns the [Local] for [node]. | 1030 /// Returns the [Local] for [node]. |
1027 Local getLocal(ir.VariableDeclaration node); | 1031 Local getLocal(ir.VariableDeclaration node); |
1028 | 1032 |
1029 /// Returns the [JumpTarget] for the branch in [node]. | 1033 /// Returns the [JumpTarget] for the branch in [node]. |
1030 // TODO(johnniwinther): Split this by kind of [node]? | 1034 // TODO(johnniwinther): Split this by kind of [node]? |
1031 JumpTarget getJumpTarget(ir.TreeNode node, {bool isContinueTarget: false}); | 1035 JumpTarget getJumpTarget(ir.TreeNode node, {bool isContinueTarget: false}); |
1032 } | 1036 } |
OLD | NEW |