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

Unified Diff: pkg/compiler/lib/src/universe/function_set.dart

Issue 1422323007: dart2js: use WorldImpact for dump_info (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/universe/function_set.dart
diff --git a/pkg/compiler/lib/src/universe/function_set.dart b/pkg/compiler/lib/src/universe/function_set.dart
index 9f13c1ea2293b8a2eecbd0fddca6ebbb9be8596b..ae42ac2dc80a10bc2d393e8953daf87c4bdfe37d 100644
--- a/pkg/compiler/lib/src/universe/function_set.dart
+++ b/pkg/compiler/lib/src/universe/function_set.dart
@@ -19,6 +19,8 @@ import '../world.dart' show
import 'selector.dart' show
Selector;
+import 'universe.dart' show
+ ReceiverConstraint;
// TODO(kasperl): This actually holds getters and setters just fine
// too and stricly they aren't functions. Maybe this needs a better
@@ -64,22 +66,22 @@ class FunctionSet {
/// Returns an object that allows iterating over all the functions
/// that may be invoked with the given [selector].
- Iterable<Element> filter(Selector selector, TypeMask mask) {
+ Iterable<Element> filter(Selector selector, ReceiverConstraint mask) {
Siggi Cherem (dart-lang) 2015/11/12 01:10:59 rename all [mask] to [constraint]? or add TODO?
Harry Terkelsen 2015/11/12 01:25:40 Done.
return query(selector, mask).functions;
}
/// Returns the mask for the potential receivers of a dynamic call to
/// [selector] on [mask].
///
- /// This will reduce the set of classes in [mask] to a [TypeMask] of the set
+ /// This will narrow the constraints of [mask] to a [TypeMask] of the set
/// of classes that actually implement the selected member or implement the
/// handling 'noSuchMethod' where the selected member is unimplemented.
- TypeMask receiverType(Selector selector, TypeMask mask) {
+ TypeMask receiverType(Selector selector, ReceiverConstraint mask) {
return query(selector, mask).computeMask(classWorld);
}
SelectorMask _createSelectorMask(
- Selector selector, TypeMask mask, ClassWorld classWorld) {
+ Selector selector, ReceiverConstraint mask, ClassWorld classWorld) {
return mask != null
? new SelectorMask(selector, mask)
: new SelectorMask(selector,
@@ -87,9 +89,9 @@ class FunctionSet {
}
/// Returns the set of functions that can be the target of a call to
- /// [selector] on a receiver of type [mask] including 'noSuchMethod' methods
- /// where applicable.
- FunctionSetQuery query(Selector selector, TypeMask mask) {
+ /// [selector] on a receiver constrained by [mask] including 'noSuchMethod'
+ /// methods where applicable.
+ FunctionSetQuery query(Selector selector, ReceiverConstraint mask) {
String name = selector.name;
SelectorMask selectorMask = _createSelectorMask(selector, mask, classWorld);
SelectorMask noSuchMethodMask =
@@ -119,10 +121,10 @@ class FunctionSet {
/// a receiver of type [mask].
class SelectorMask {
final Selector selector;
- final TypeMask mask;
+ final ReceiverConstraint mask;
final int hashCode;
- SelectorMask(Selector selector, TypeMask mask)
+ SelectorMask(Selector selector, ReceiverConstraint mask)
: this.selector = selector,
this.mask = mask,
this.hashCode =

Powered by Google App Engine
This is Rietveld 408576698