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

Side by Side Diff: pkg/compiler/lib/src/types/masks.dart

Issue 2420073002: Decouple TypeMask from ClassElement (Closed)
Patch Set: Updated cf. comments. Created 4 years, 2 months 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) 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 library masks; 5 library masks;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/backend_api.dart' show BackendClasses; 8 import '../common/backend_api.dart' show BackendClasses;
9 import '../compiler.dart' show Compiler; 9 import '../compiler.dart' show Compiler;
10 import '../constants/values.dart' show PrimitiveConstantValue; 10 import '../constants/values.dart' show PrimitiveConstantValue;
11 import '../elements/elements.dart'; 11 import '../elements/elements.dart';
12 import '../inferrer/type_graph_inferrer.dart' show TypeGraphInferrer; 12 import '../inferrer/type_graph_inferrer.dart' show TypeGraphInferrer;
13 import '../tree/tree.dart'; 13 import '../tree/tree.dart';
14 import '../universe/selector.dart' show Selector; 14 import '../universe/selector.dart' show Selector;
15 import '../universe/world_builder.dart' 15 import '../universe/world_builder.dart'
16 show 16 show
17 ReceiverConstraint, 17 ReceiverConstraint,
18 UniverseSelectorConstraints, 18 UniverseSelectorConstraints,
19 SelectorConstraintsStrategy; 19 SelectorConstraintsStrategy;
20 import '../util/util.dart'; 20 import '../util/util.dart';
21 import '../world.dart' show ClosedWorld; 21 import '../world.dart' show ClassQuery, ClosedWorld;
22 import 'abstract_value_domain.dart' show AbstractValue; 22 import 'abstract_value_domain.dart' show AbstractValue;
23 23
24 part 'container_type_mask.dart'; 24 part 'container_type_mask.dart';
25 part 'dictionary_type_mask.dart'; 25 part 'dictionary_type_mask.dart';
26 part 'flat_type_mask.dart'; 26 part 'flat_type_mask.dart';
27 part 'forwarding_type_mask.dart'; 27 part 'forwarding_type_mask.dart';
28 part 'map_type_mask.dart'; 28 part 'map_type_mask.dart';
29 part 'type_mask.dart'; 29 part 'type_mask.dart';
30 part 'union_type_mask.dart'; 30 part 'union_type_mask.dart';
31 part 'value_type_mask.dart'; 31 part 'value_type_mask.dart';
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 _asyncFutureType ??= new TypeMask.nonNullExact( 128 _asyncFutureType ??= new TypeMask.nonNullExact(
129 backendClasses.asyncFutureImplementation, closedWorld); 129 backendClasses.asyncFutureImplementation, closedWorld);
130 130
131 TypeMask get asyncStarStreamType => 131 TypeMask get asyncStarStreamType =>
132 _asyncStarStreamType ??= new TypeMask.nonNullExact( 132 _asyncStarStreamType ??= new TypeMask.nonNullExact(
133 backendClasses.asyncStarStreamImplementation, closedWorld); 133 backendClasses.asyncStarStreamImplementation, closedWorld);
134 134
135 // TODO(johnniwinther): Assert that the null type has been resolved. 135 // TODO(johnniwinther): Assert that the null type has been resolved.
136 TypeMask get nullType => _nullType ??= const TypeMask.empty(); 136 TypeMask get nullType => _nullType ??= const TypeMask.empty();
137 } 137 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/types/forwarding_type_mask.dart ('k') | pkg/compiler/lib/src/types/type_mask.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698