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

Side by Side Diff: pkg/compiler/lib/src/universe/world_builder.dart

Issue 2535143003: More refactoring of enqueuers (Closed)
Patch Set: Created 4 years 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 universe; 5 library universe;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import '../cache_strategy.dart'; 9 import '../cache_strategy.dart';
10 import '../common.dart'; 10 import '../common.dart';
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 132
133 /// Returns `true` if [member] is invoked as a setter. 133 /// Returns `true` if [member] is invoked as a setter.
134 bool hasInvokedSetter(Element member, World world); 134 bool hasInvokedSetter(Element member, World world);
135 } 135 }
136 136
137 abstract class ResolutionWorldBuilder implements WorldBuilder { 137 abstract class ResolutionWorldBuilder implements WorldBuilder {
138 /// Set of (live) local functions (closures) whose signatures reference type 138 /// Set of (live) local functions (closures) whose signatures reference type
139 /// variables. 139 /// variables.
140 /// 140 ///
141 /// A live function is one whose enclosing member function has been enqueued. 141 /// A live function is one whose enclosing member function has been enqueued.
142 Set<Element> get closuresWithFreeTypeVariables; 142 Iterable<Element> get closuresWithFreeTypeVariables;
143 143
144 /// Set of (live) `call` methods whose signatures reference type variables. 144 /// Set of (live) `call` methods whose signatures reference type variables.
145 /// 145 ///
146 /// A live `call` method is one whose enclosing class has been instantiated. 146 /// A live `call` method is one whose enclosing class has been instantiated.
147 Iterable<Element> get callMethodsWithFreeTypeVariables; 147 Iterable<Element> get callMethodsWithFreeTypeVariables;
148 148
149 /// Set of all closures in the program. Used by the mirror tracking system 149 /// Set of all closures in the program. Used by the mirror tracking system
150 /// to find all live closure instances. 150 /// to find all live closure instances.
151 Iterable<LocalFunctionElement> get allClosures; 151 Iterable<LocalFunctionElement> get allClosures;
152 152
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 925
926 void forgetElement(Element element, Compiler compiler) { 926 void forgetElement(Element element, Compiler compiler) {
927 _directlyInstantiatedClasses.remove(element); 927 _directlyInstantiatedClasses.remove(element);
928 if (element is ClassElement) { 928 if (element is ClassElement) {
929 assert(invariant(element, element.thisType.isRaw, 929 assert(invariant(element, element.thisType.isRaw,
930 message: 'Generic classes not supported (${element.thisType}).')); 930 message: 'Generic classes not supported (${element.thisType}).'));
931 _instantiatedTypes..remove(element.rawType)..remove(element.thisType); 931 _instantiatedTypes..remove(element.rawType)..remove(element.thisType);
932 } 932 }
933 } 933 }
934 } 934 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698