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

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

Issue 2326813002: Replace and remove JavaException(s). (Closed)
Patch Set: Created 4 years, 3 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) 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';
11 11
12 import 'package:analyzer/dart/constant/value.dart'; 12 import 'package:analyzer/dart/constant/value.dart';
13 import 'package:analyzer/dart/element/element.dart'; 13 import 'package:analyzer/dart/element/element.dart';
14 import 'package:analyzer/dart/element/type.dart'; 14 import 'package:analyzer/dart/element/type.dart';
15 import 'package:analyzer/src/generated/error.dart'; 15 import 'package:analyzer/src/generated/error.dart';
16 import 'package:analyzer/src/generated/java_core.dart';
17 import 'package:analyzer/src/generated/resolver.dart' show TypeProvider; 16 import 'package:analyzer/src/generated/resolver.dart' show TypeProvider;
18 import 'package:analyzer/src/generated/utilities_general.dart'; 17 import 'package:analyzer/src/generated/utilities_general.dart';
19 18
20 /** 19 /**
21 * The state of an object representing a boolean value. 20 * The state of an object representing a boolean value.
22 */ 21 */
23 class BoolState extends InstanceState { 22 class BoolState extends InstanceState {
24 /** 23 /**
25 * An instance representing the boolean value 'false'. 24 * An instance representing the boolean value 'false'.
26 */ 25 */
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 if (result is IntState) { 232 if (result is IntState) {
234 return new DartObjectImpl(typeProvider.intType, result); 233 return new DartObjectImpl(typeProvider.intType, result);
235 } else if (result is DoubleState) { 234 } else if (result is DoubleState) {
236 return new DartObjectImpl(typeProvider.doubleType, result); 235 return new DartObjectImpl(typeProvider.doubleType, result);
237 } else if (result is NumState) { 236 } else if (result is NumState) {
238 return new DartObjectImpl(typeProvider.numType, result); 237 return new DartObjectImpl(typeProvider.numType, result);
239 } else if (result is StringState) { 238 } else if (result is StringState) {
240 return new DartObjectImpl(typeProvider.stringType, result); 239 return new DartObjectImpl(typeProvider.stringType, result);
241 } 240 }
242 // We should never get here. 241 // We should never get here.
243 throw new IllegalStateException("add returned a ${result.runtimeType}"); 242 throw new StateError("add returned a ${result.runtimeType}");
244 } 243 }
245 244
246 /** 245 /**
247 * Return the result of invoking the '&' operator on this object with the 246 * Return the result of invoking the '&' operator on this object with the
248 * [rightOperand]. The [typeProvider] is the type provider used to find known 247 * [rightOperand]. The [typeProvider] is the type provider used to find known
249 * types. 248 * types.
250 * 249 *
251 * Throws an [EvaluationException] if the operator is not appropriate for an 250 * Throws an [EvaluationException] if the operator is not appropriate for an
252 * object of this kind. 251 * object of this kind.
253 */ 252 */
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 TypeProvider typeProvider, DartObjectImpl rightOperand) { 331 TypeProvider typeProvider, DartObjectImpl rightOperand) {
333 InstanceState result = _state.divide(rightOperand._state); 332 InstanceState result = _state.divide(rightOperand._state);
334 if (result is IntState) { 333 if (result is IntState) {
335 return new DartObjectImpl(typeProvider.intType, result); 334 return new DartObjectImpl(typeProvider.intType, result);
336 } else if (result is DoubleState) { 335 } else if (result is DoubleState) {
337 return new DartObjectImpl(typeProvider.doubleType, result); 336 return new DartObjectImpl(typeProvider.doubleType, result);
338 } else if (result is NumState) { 337 } else if (result is NumState) {
339 return new DartObjectImpl(typeProvider.numType, result); 338 return new DartObjectImpl(typeProvider.numType, result);
340 } 339 }
341 // We should never get here. 340 // We should never get here.
342 throw new IllegalStateException("divide returned a ${result.runtimeType}"); 341 throw new StateError("divide returned a ${result.runtimeType}");
343 } 342 }
344 343
345 /** 344 /**
346 * Return the result of invoking the '==' operator on this object with the 345 * Return the result of invoking the '==' operator on this object with the
347 * [rightOperand]. The [typeProvider] is the type provider used to find known 346 * [rightOperand]. The [typeProvider] is the type provider used to find known
348 * types. 347 * types.
349 * 348 *
350 * Throws an [EvaluationException] if the operator is not appropriate for an 349 * Throws an [EvaluationException] if the operator is not appropriate for an
351 * object of this kind. 350 * object of this kind.
352 */ 351 */
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 DartObjectImpl minus(TypeProvider typeProvider, DartObjectImpl rightOperand) { 500 DartObjectImpl minus(TypeProvider typeProvider, DartObjectImpl rightOperand) {
502 InstanceState result = _state.minus(rightOperand._state); 501 InstanceState result = _state.minus(rightOperand._state);
503 if (result is IntState) { 502 if (result is IntState) {
504 return new DartObjectImpl(typeProvider.intType, result); 503 return new DartObjectImpl(typeProvider.intType, result);
505 } else if (result is DoubleState) { 504 } else if (result is DoubleState) {
506 return new DartObjectImpl(typeProvider.doubleType, result); 505 return new DartObjectImpl(typeProvider.doubleType, result);
507 } else if (result is NumState) { 506 } else if (result is NumState) {
508 return new DartObjectImpl(typeProvider.numType, result); 507 return new DartObjectImpl(typeProvider.numType, result);
509 } 508 }
510 // We should never get here. 509 // We should never get here.
511 throw new IllegalStateException("minus returned a ${result.runtimeType}"); 510 throw new StateError("minus returned a ${result.runtimeType}");
512 } 511 }
513 512
514 /** 513 /**
515 * Return the result of invoking the '-' operator on this object. The 514 * Return the result of invoking the '-' operator on this object. The
516 * [typeProvider] is the type provider used to find known types. 515 * [typeProvider] is the type provider used to find known types.
517 * 516 *
518 * Throws an [EvaluationException] if the operator is not appropriate for an 517 * Throws an [EvaluationException] if the operator is not appropriate for an
519 * object of this kind. 518 * object of this kind.
520 */ 519 */
521 DartObjectImpl negated(TypeProvider typeProvider) { 520 DartObjectImpl negated(TypeProvider typeProvider) {
522 InstanceState result = _state.negated(); 521 InstanceState result = _state.negated();
523 if (result is IntState) { 522 if (result is IntState) {
524 return new DartObjectImpl(typeProvider.intType, result); 523 return new DartObjectImpl(typeProvider.intType, result);
525 } else if (result is DoubleState) { 524 } else if (result is DoubleState) {
526 return new DartObjectImpl(typeProvider.doubleType, result); 525 return new DartObjectImpl(typeProvider.doubleType, result);
527 } else if (result is NumState) { 526 } else if (result is NumState) {
528 return new DartObjectImpl(typeProvider.numType, result); 527 return new DartObjectImpl(typeProvider.numType, result);
529 } 528 }
530 // We should never get here. 529 // We should never get here.
531 throw new IllegalStateException("negated returned a ${result.runtimeType}"); 530 throw new StateError("negated returned a ${result.runtimeType}");
532 } 531 }
533 532
534 /** 533 /**
535 * Return the result of invoking the '!=' operator on this object with the 534 * Return the result of invoking the '!=' operator on this object with the
536 * [rightOperand]. The [typeProvider] is the type provider used to find known 535 * [rightOperand]. The [typeProvider] is the type provider used to find known
537 * types. 536 * types.
538 * 537 *
539 * Throws an [EvaluationException] if the operator is not appropriate for an 538 * Throws an [EvaluationException] if the operator is not appropriate for an
540 * object of this kind. 539 * object of this kind.
541 */ 540 */
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 TypeProvider typeProvider, DartObjectImpl rightOperand) { 581 TypeProvider typeProvider, DartObjectImpl rightOperand) {
583 InstanceState result = _state.remainder(rightOperand._state); 582 InstanceState result = _state.remainder(rightOperand._state);
584 if (result is IntState) { 583 if (result is IntState) {
585 return new DartObjectImpl(typeProvider.intType, result); 584 return new DartObjectImpl(typeProvider.intType, result);
586 } else if (result is DoubleState) { 585 } else if (result is DoubleState) {
587 return new DartObjectImpl(typeProvider.doubleType, result); 586 return new DartObjectImpl(typeProvider.doubleType, result);
588 } else if (result is NumState) { 587 } else if (result is NumState) {
589 return new DartObjectImpl(typeProvider.numType, result); 588 return new DartObjectImpl(typeProvider.numType, result);
590 } 589 }
591 // We should never get here. 590 // We should never get here.
592 throw new IllegalStateException( 591 throw new StateError("remainder returned a ${result.runtimeType}");
593 "remainder returned a ${result.runtimeType}");
594 } 592 }
595 593
596 /** 594 /**
597 * Return the result of invoking the '<<' operator on this object with 595 * Return the result of invoking the '<<' operator on this object with
598 * the [rightOperand]. The [typeProvider] is the type provider used to find 596 * the [rightOperand]. The [typeProvider] is the type provider used to find
599 * known types. 597 * known types.
600 * 598 *
601 * Throws an [EvaluationException] if the operator is not appropriate for an 599 * Throws an [EvaluationException] if the operator is not appropriate for an
602 * object of this kind. 600 * object of this kind.
603 */ 601 */
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 DartObjectImpl times(TypeProvider typeProvider, DartObjectImpl rightOperand) { 638 DartObjectImpl times(TypeProvider typeProvider, DartObjectImpl rightOperand) {
641 InstanceState result = _state.times(rightOperand._state); 639 InstanceState result = _state.times(rightOperand._state);
642 if (result is IntState) { 640 if (result is IntState) {
643 return new DartObjectImpl(typeProvider.intType, result); 641 return new DartObjectImpl(typeProvider.intType, result);
644 } else if (result is DoubleState) { 642 } else if (result is DoubleState) {
645 return new DartObjectImpl(typeProvider.doubleType, result); 643 return new DartObjectImpl(typeProvider.doubleType, result);
646 } else if (result is NumState) { 644 } else if (result is NumState) {
647 return new DartObjectImpl(typeProvider.numType, result); 645 return new DartObjectImpl(typeProvider.numType, result);
648 } 646 }
649 // We should never get here. 647 // We should never get here.
650 throw new IllegalStateException("times returned a ${result.runtimeType}"); 648 throw new StateError("times returned a ${result.runtimeType}");
651 } 649 }
652 650
653 @override 651 @override
654 bool toBoolValue() { 652 bool toBoolValue() {
655 InstanceState state = _state; 653 InstanceState state = _state;
656 if (state is BoolState) { 654 if (state is BoolState) {
657 return state.value; 655 return state.value;
658 } 656 }
659 return null; 657 return null;
660 } 658 }
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 if (rightOperand is IntState) { 1222 if (rightOperand is IntState) {
1225 return IntState.UNKNOWN_VALUE; 1223 return IntState.UNKNOWN_VALUE;
1226 } else if (rightOperand is DoubleState) { 1224 } else if (rightOperand is DoubleState) {
1227 return DoubleState.UNKNOWN_VALUE; 1225 return DoubleState.UNKNOWN_VALUE;
1228 } 1226 }
1229 return NumState.UNKNOWN_VALUE; 1227 return NumState.UNKNOWN_VALUE;
1230 } 1228 }
1231 } 1229 }
1232 1230
1233 /** 1231 /**
1234 * A run-time exception that would be thrown during the evaluation of Dart code. 1232 * Exception that would be thrown during the evaluation of Dart code.
1235 */ 1233 */
1236 class EvaluationException extends JavaException { 1234 class EvaluationException {
Brian Wilkerson 2016/09/08 22:38:57 Should we do make this a subclass of AnalysisExcep
scheglov 2016/09/08 22:48:12 EvaluationException does not have a message or cau
1237 /** 1235 /**
1238 * The error code associated with the exception. 1236 * The error code associated with the exception.
1239 */ 1237 */
1240 final ErrorCode errorCode; 1238 final ErrorCode errorCode;
1241 1239
1242 /** 1240 /**
1243 * Initialize a newly created exception to have the given [errorCode]. 1241 * Initialize a newly created exception to have the given [errorCode].
1244 */ 1242 */
1245 EvaluationException(this.errorCode); 1243 EvaluationException(this.errorCode);
1246 } 1244 }
(...skipping 1565 matching lines...) Expand 10 before | Expand all | Expand 10 after
2812 return BoolState.from(_type == rightType); 2810 return BoolState.from(_type == rightType);
2813 } else if (rightOperand is DynamicState) { 2811 } else if (rightOperand is DynamicState) {
2814 return BoolState.UNKNOWN_VALUE; 2812 return BoolState.UNKNOWN_VALUE;
2815 } 2813 }
2816 return BoolState.FALSE_STATE; 2814 return BoolState.FALSE_STATE;
2817 } 2815 }
2818 2816
2819 @override 2817 @override
2820 String toString() => _type?.toString() ?? "-unknown-"; 2818 String toString() => _type?.toString() ?? "-unknown-";
2821 } 2819 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698