@@ -10,49 +10,39 @@ import '../../js_model/js_world.dart' show JClosedWorld;
1010import 'masks.dart' ;
1111
1212/// Computes the [TypeMask] for the constant [value] .
13- TypeMask computeTypeMask (
14- CommonMasks abstractValueDomain,
15- JClosedWorld closedWorld,
16- ConstantValue value,
17- ) {
18- return value.accept (ConstantValueTypeMasks (abstractValueDomain), closedWorld);
13+ TypeMask computeTypeMask (CommonMasks abstractValueDomain, ConstantValue value) {
14+ return value.accept (ConstantValueTypeMasks (abstractValueDomain), null );
1915}
2016
21- class ConstantValueTypeMasks
22- extends ConstantValueVisitor <TypeMask , JClosedWorld > {
17+ class ConstantValueTypeMasks extends ConstantValueVisitor <TypeMask , Null > {
2318 final CommonMasks _abstractValueDomain;
2419 const ConstantValueTypeMasks (this ._abstractValueDomain);
2520
21+ JClosedWorld get closedWorld => _abstractValueDomain.closedWorld;
22+
2623 @override
27- TypeMask visitConstructed (
28- ConstructedConstantValue constant,
29- JClosedWorld closedWorld,
30- ) {
24+ TypeMask visitConstructed (ConstructedConstantValue constant, _) {
3125 if (closedWorld.interceptorData.isInterceptedClass (constant.type.element)) {
3226 return _abstractValueDomain.nonNullType;
3327 }
34- return TypeMask .nonNullExact (constant.type.element, closedWorld );
28+ return TypeMask .nonNullExact (constant.type.element, _abstractValueDomain );
3529 }
3630
3731 @override
38- TypeMask visitRecord (RecordConstantValue constant, JClosedWorld closedWorld ) {
32+ TypeMask visitRecord (RecordConstantValue constant, _ ) {
3933 final representation = closedWorld.recordData.representationForShape (
4034 constant.shape,
4135 );
4236 if (representation == null ) return _abstractValueDomain.recordType;
43- return TypeMask .nonNullExact (representation.cls, closedWorld );
37+ return TypeMask .nonNullExact (representation.cls, _abstractValueDomain );
4438 }
4539
4640 @override
47- TypeMask visitDeferredGlobal (
48- DeferredGlobalConstantValue constant,
49- JClosedWorld closedWorld,
50- ) {
51- return constant.referenced.accept (this , closedWorld);
52- }
41+ TypeMask visitDeferredGlobal (DeferredGlobalConstantValue constant, _) =>
42+ constant.referenced.accept (this , null );
5343
5444 @override
55- TypeMask visitDouble (DoubleConstantValue constant, JClosedWorld closedWorld ) {
45+ TypeMask visitDouble (DoubleConstantValue constant, _ ) {
5646 // We have to recognize double constants that are 'is int'.
5747 if (constant_system.isInt (constant)) {
5848 if (constant.isMinusZero) {
@@ -65,105 +55,71 @@ class ConstantValueTypeMasks
6555 }
6656
6757 @override
68- TypeMask visitDummyInterceptor (
69- DummyInterceptorConstantValue constant,
70- JClosedWorld closedWorld,
71- ) {
72- return _abstractValueDomain.dynamicType;
73- }
58+ TypeMask visitDummyInterceptor (DummyInterceptorConstantValue constant, _) =>
59+ _abstractValueDomain.dynamicType;
7460
7561 @override
76- TypeMask visitLateSentinel (
77- LateSentinelConstantValue constant,
78- JClosedWorld closedWorld,
79- ) => _abstractValueDomain.lateSentinelType;
62+ TypeMask visitLateSentinel (LateSentinelConstantValue constant, _) =>
63+ _abstractValueDomain.lateSentinelType;
8064
8165 @override
82- TypeMask visitUnreachable (
83- UnreachableConstantValue constant,
84- JClosedWorld closedWorld,
85- ) {
86- return _abstractValueDomain.emptyType;
87- }
66+ TypeMask visitUnreachable (UnreachableConstantValue constant, _) =>
67+ _abstractValueDomain.emptyType;
8868
8969 @override
90- TypeMask visitJsName (JsNameConstantValue constant, JClosedWorld closedWorld) {
91- return _abstractValueDomain.stringType;
92- }
70+ TypeMask visitJsName (JsNameConstantValue constant, _) =>
71+ _abstractValueDomain.stringType;
9372
9473 @override
95- TypeMask visitBool (BoolConstantValue constant, JClosedWorld closedWorld) {
96- return _abstractValueDomain.boolType;
97- }
74+ TypeMask visitBool (BoolConstantValue constant, _) =>
75+ _abstractValueDomain.boolType;
9876
9977 @override
100- TypeMask visitFunction (
101- FunctionConstantValue constant,
102- JClosedWorld closedWorld,
103- ) {
104- return _abstractValueDomain.functionType;
105- }
78+ TypeMask visitFunction (FunctionConstantValue constant, _) =>
79+ _abstractValueDomain.functionType;
10680
10781 @override
108- TypeMask visitInstantiation (
109- InstantiationConstantValue constant,
110- JClosedWorld closedWorld,
111- ) {
112- return _abstractValueDomain.functionType;
113- }
82+ TypeMask visitInstantiation (InstantiationConstantValue constant, _) =>
83+ _abstractValueDomain.functionType;
11484
11585 @override
116- TypeMask visitInt (IntConstantValue constant, JClosedWorld closedWorld ) {
86+ TypeMask visitInt (IntConstantValue constant, _ ) {
11787 if (constant.isUInt31 ()) return _abstractValueDomain.uint31Type;
11888 if (constant.isUInt32 ()) return _abstractValueDomain.uint32Type;
11989 if (constant.isPositive ()) return _abstractValueDomain.positiveIntType;
12090 return _abstractValueDomain.intType;
12191 }
12292
12393 @override
124- TypeMask visitInterceptor (
125- InterceptorConstantValue constant,
126- JClosedWorld closedWorld,
127- ) {
128- return _abstractValueDomain.nonNullType;
129- }
94+ TypeMask visitInterceptor (InterceptorConstantValue constant, _) =>
95+ _abstractValueDomain.nonNullType;
13096
13197 @override
132- TypeMask visitList (ListConstantValue constant, JClosedWorld closedWorld) {
133- return _abstractValueDomain.constListType;
134- }
98+ TypeMask visitList (ListConstantValue constant, _) =>
99+ _abstractValueDomain.constListType;
135100
136101 @override
137- TypeMask visitSet (SetConstantValue constant, JClosedWorld closedWorld) {
138- return _abstractValueDomain.constSetType;
139- }
102+ TypeMask visitSet (SetConstantValue constant, _) =>
103+ _abstractValueDomain.constSetType;
140104
141105 @override
142- TypeMask visitMap (MapConstantValue constant, JClosedWorld closedWorld) {
143- return _abstractValueDomain.constMapType;
144- }
106+ TypeMask visitMap (MapConstantValue constant, _) =>
107+ _abstractValueDomain.constMapType;
145108
146109 @override
147- TypeMask visitNull (NullConstantValue constant, JClosedWorld closedWorld) {
148- return _abstractValueDomain.nullType;
149- }
110+ TypeMask visitNull (NullConstantValue constant, _) =>
111+ _abstractValueDomain.nullType;
150112
151113 @override
152- TypeMask visitString (StringConstantValue constant, JClosedWorld closedWorld) {
153- return _abstractValueDomain.stringType;
154- }
114+ TypeMask visitString (StringConstantValue constant, _) =>
115+ _abstractValueDomain.stringType;
155116
156117 @override
157- TypeMask visitType (TypeConstantValue constant, JClosedWorld closedWorld) {
158- return _abstractValueDomain.typeType;
159- }
118+ TypeMask visitType (TypeConstantValue constant, _) =>
119+ _abstractValueDomain.typeType;
160120
161121 @override
162- TypeMask visitJavaScriptObject (
163- JavaScriptObjectConstantValue constant,
164- JClosedWorld closedWorld,
165- ) {
166- // TODO(sra): Change to plain JavaScript object.
167- return _abstractValueDomain.dynamicType;
168- }
122+ TypeMask visitJavaScriptObject (JavaScriptObjectConstantValue constant, _) =>
123+ // TODO(sra): Change to plain JavaScript object.
124+ _abstractValueDomain.dynamicType;
169125}
0 commit comments