| Index: pkg/analyzer/lib/src/dart/constant/evaluation.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
|
| index fc3ee08a412129963d06152b5ec9e98c641ff8a3..b0f65238a218fdb30f3991257d576571ee207e2f 100644
|
| --- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart
|
| +++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
|
| @@ -706,7 +706,24 @@ class ConstantEvaluationEngine {
|
| String superName = null;
|
| NodeList<Expression> superArguments = null;
|
| for (ConstructorInitializer initializer in initializers) {
|
| - if (initializer is ConstructorFieldInitializer) {
|
| + if (initializer is AssertInitializer) {
|
| + Expression condition = initializer.condition;
|
| + DartObjectImpl conditionResult = condition?.accept(initializerVisitor);
|
| + if (conditionResult != null) {
|
| + if (conditionResult.isBool) {
|
| + if (!conditionResult.toBoolValue()) {
|
| + errorReporter.reportErrorForNode(
|
| + CompileTimeErrorCode.CONST_EVAL_THROWS_ASSERT_FALSE, node);
|
| + }
|
| + } else {
|
| + errorReporter.reportErrorForNode(
|
| + CompileTimeErrorCode.CONST_EVAL_THROWS_ASSERT_NOT_BOOL, node);
|
| + }
|
| + } else {
|
| + errorReporter.reportErrorForNode(
|
| + CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, node);
|
| + }
|
| + } else if (initializer is ConstructorFieldInitializer) {
|
| Expression initializerExpression = initializer.expression;
|
| DartObjectImpl evaluationResult =
|
| initializerExpression?.accept(initializerVisitor);
|
|
|