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

Side by Side Diff: pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart

Issue 2855173002: Revert "Void is not required to be `null` anymore." (Closed)
Patch Set: Created 3 years, 7 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 '../common.dart'; 5 import '../common.dart';
6 import '../common_elements.dart'; 6 import '../common_elements.dart';
7 import '../elements/elements.dart' show ErroneousElement; 7 import '../elements/elements.dart' show ErroneousElement;
8 import '../elements/entities.dart'; 8 import '../elements/entities.dart';
9 import '../elements/resolution_types.dart' show MalformedType; 9 import '../elements/resolution_types.dart' show MalformedType;
10 import '../elements/types.dart'; 10 import '../elements/types.dart';
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 } 110 }
111 111
112 class CheckedModeHelpers { 112 class CheckedModeHelpers {
113 final CommonElements _commonElements; 113 final CommonElements _commonElements;
114 114
115 CheckedModeHelpers(this._commonElements); 115 CheckedModeHelpers(this._commonElements);
116 116
117 /// All the checked mode helpers. 117 /// All the checked mode helpers.
118 static const List<CheckedModeHelper> helpers = const <CheckedModeHelper>[ 118 static const List<CheckedModeHelper> helpers = const <CheckedModeHelper>[
119 const MalformedCheckedModeHelper('checkMalformedType'), 119 const MalformedCheckedModeHelper('checkMalformedType'),
120 const CheckedModeHelper('voidTypeCheck'),
120 const CheckedModeHelper('stringTypeCast'), 121 const CheckedModeHelper('stringTypeCast'),
121 const CheckedModeHelper('stringTypeCheck'), 122 const CheckedModeHelper('stringTypeCheck'),
122 const CheckedModeHelper('doubleTypeCast'), 123 const CheckedModeHelper('doubleTypeCast'),
123 const CheckedModeHelper('doubleTypeCheck'), 124 const CheckedModeHelper('doubleTypeCheck'),
124 const CheckedModeHelper('numTypeCast'), 125 const CheckedModeHelper('numTypeCast'),
125 const CheckedModeHelper('numTypeCheck'), 126 const CheckedModeHelper('numTypeCheck'),
126 const CheckedModeHelper('boolTypeCast'), 127 const CheckedModeHelper('boolTypeCast'),
127 const CheckedModeHelper('boolTypeCheck'), 128 const CheckedModeHelper('boolTypeCheck'),
128 const CheckedModeHelper('intTypeCast'), 129 const CheckedModeHelper('intTypeCast'),
129 const CheckedModeHelper('intTypeCheck'), 130 const CheckedModeHelper('intTypeCheck'),
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 196
196 String getCheckedModeHelperNameInternal(DartType type, 197 String getCheckedModeHelperNameInternal(DartType type,
197 {bool typeCast, bool nativeCheckOnly}) { 198 {bool typeCast, bool nativeCheckOnly}) {
198 assert(!type.isTypedef); 199 assert(!type.isTypedef);
199 if (type.isMalformed) { 200 if (type.isMalformed) {
200 // The same error is thrown for type test and type cast of a malformed 201 // The same error is thrown for type test and type cast of a malformed
201 // type so we only need one check method. 202 // type so we only need one check method.
202 return 'checkMalformedType'; 203 return 'checkMalformedType';
203 } 204 }
204 205
206 if (type.isVoid) {
207 assert(!typeCast); // Cannot cast to void.
208 if (nativeCheckOnly) return null;
209 return 'voidTypeCheck';
210 }
211
205 if (type.isTypeVariable) { 212 if (type.isTypeVariable) {
206 return typeCast 213 return typeCast
207 ? 'subtypeOfRuntimeTypeCast' 214 ? 'subtypeOfRuntimeTypeCast'
208 : 'assertSubtypeOfRuntimeType'; 215 : 'assertSubtypeOfRuntimeType';
209 } 216 }
210 217
211 if (type.isFunctionType) { 218 if (type.isFunctionType) {
212 return typeCast ? 'functionTypeCast' : 'functionTypeCheck'; 219 return typeCast ? 'functionTypeCast' : 'functionTypeCheck';
213 } 220 }
214 221
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 290
284 if (nativeCheck) { 291 if (nativeCheck) {
285 // TODO(karlklose): can we get rid of this branch when we use 292 // TODO(karlklose): can we get rid of this branch when we use
286 // interceptors? 293 // interceptors?
287 return 'intercepted$suffix'; 294 return 'intercepted$suffix';
288 } else { 295 } else {
289 return 'property$suffix'; 296 return 'property$suffix';
290 } 297 }
291 } 298 }
292 } 299 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/inferrer/type_system.dart ('k') | pkg/compiler/lib/src/js_backend/impact_transformer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698