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

Side by Side Diff: pkg/analyzer/lib/src/dart/constant/value.dart

Issue 2626463003: Fix invalid cast (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « pkg/analyzer/lib/src/dart/constant/evaluation.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 /** 5 /**
6 * The implementation of the class [DartObject]. 6 * The implementation of the class [DartObject].
7 */ 7 */
8 library analyzer.src.dart.constant.value; 8 library analyzer.src.dart.constant.value;
9 9
10 import 'dart:collection'; 10 import 'dart:collection';
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 137
138 /** 138 /**
139 * A representation of an instance of a Dart class. 139 * A representation of an instance of a Dart class.
140 */ 140 */
141 class DartObjectImpl implements DartObject { 141 class DartObjectImpl implements DartObject {
142 /** 142 /**
143 * An empty list of objects. 143 * An empty list of objects.
144 */ 144 */
145 static const List<DartObjectImpl> EMPTY_LIST = const <DartObjectImpl>[]; 145 static const List<DartObjectImpl> EMPTY_LIST = const <DartObjectImpl>[];
146 146
147 /**
148 * The run-time type of this object.
149 */
150 @override 147 @override
151 final ParameterizedType type; 148 final ParameterizedType type;
152 149
153 /** 150 /**
154 * The state of the object. 151 * The state of the object.
155 */ 152 */
156 final InstanceState _state; 153 final InstanceState _state;
157 154
158 /** 155 /**
159 * Initialize a newly created object to have the given [type] and [_state]. 156 * Initialize a newly created object to have the given [type] and [_state].
160 */ 157 */
161 DartObjectImpl(this.type, this._state); 158 DartObjectImpl(this.type, this._state);
162 159
163 /** 160 /**
164 * Create an object to represent an unknown value. 161 * Create an object to represent an unknown value.
165 */ 162 */
166 factory DartObjectImpl.validWithUnknownValue(InterfaceType type) { 163 factory DartObjectImpl.validWithUnknownValue(ParameterizedType type) {
167 if (type.element.library.isDartCore) { 164 if (type.element.library.isDartCore) {
168 String typeName = type.name; 165 String typeName = type.name;
169 if (typeName == "bool") { 166 if (typeName == "bool") {
170 return new DartObjectImpl(type, BoolState.UNKNOWN_VALUE); 167 return new DartObjectImpl(type, BoolState.UNKNOWN_VALUE);
171 } else if (typeName == "double") { 168 } else if (typeName == "double") {
172 return new DartObjectImpl(type, DoubleState.UNKNOWN_VALUE); 169 return new DartObjectImpl(type, DoubleState.UNKNOWN_VALUE);
173 } else if (typeName == "int") { 170 } else if (typeName == "int") {
174 return new DartObjectImpl(type, IntState.UNKNOWN_VALUE); 171 return new DartObjectImpl(type, IntState.UNKNOWN_VALUE);
175 } else if (typeName == "String") { 172 } else if (typeName == "String") {
176 return new DartObjectImpl(type, StringState.UNKNOWN_VALUE); 173 return new DartObjectImpl(type, StringState.UNKNOWN_VALUE);
(...skipping 2634 matching lines...) Expand 10 before | Expand all | Expand 10 after
2811 return BoolState.from(_type == rightType); 2808 return BoolState.from(_type == rightType);
2812 } else if (rightOperand is DynamicState) { 2809 } else if (rightOperand is DynamicState) {
2813 return BoolState.UNKNOWN_VALUE; 2810 return BoolState.UNKNOWN_VALUE;
2814 } 2811 }
2815 return BoolState.FALSE_STATE; 2812 return BoolState.FALSE_STATE;
2816 } 2813 }
2817 2814
2818 @override 2815 @override
2819 String toString() => _type?.toString() ?? "-unknown-"; 2816 String toString() => _type?.toString() ?? "-unknown-";
2820 } 2817 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/dart/constant/evaluation.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698