| Index: pkg/analyzer/lib/src/dart/ast/ast.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
|
| index 930cebfb1b7a9e40e94cbfe3c27ccec78793f501..9275ee54022408949dfd167fcb70c3571ccc0b85 100644
|
| --- a/pkg/analyzer/lib/src/dart/ast/ast.dart
|
| +++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
|
| @@ -558,21 +558,102 @@ class AsExpressionImpl extends ExpressionImpl implements AsExpression {
|
| }
|
|
|
| /**
|
| + * An assert in the initializer list of a constructor.
|
| + *
|
| + * assertInitializer ::=
|
| + * 'assert' '(' [Expression] (',' [Expression])? ')'
|
| + */
|
| +class AssertInitializerImpl extends ConstructorInitializerImpl
|
| + implements AssertInitializer {
|
| + @override
|
| + Token assertKeyword;
|
| +
|
| + @override
|
| + Token leftParenthesis;
|
| +
|
| + /**
|
| + * The condition that is being asserted to be `true`.
|
| + */
|
| + Expression _condition;
|
| +
|
| + @override
|
| + Token comma;
|
| +
|
| + /**
|
| + * The message to report if the assertion fails, or `null` if no message was
|
| + * supplied.
|
| + */
|
| + Expression _message;
|
| +
|
| + @override
|
| + Token rightParenthesis;
|
| +
|
| + /**
|
| + * Initialize a newly created assert initializer.
|
| + */
|
| + AssertInitializerImpl(
|
| + this.assertKeyword,
|
| + this.leftParenthesis,
|
| + ExpressionImpl condition,
|
| + this.comma,
|
| + ExpressionImpl message,
|
| + this.rightParenthesis) {
|
| + _condition = _becomeParentOf(condition);
|
| + _message = _becomeParentOf(message);
|
| + }
|
| +
|
| + @override
|
| + Token get beginToken => assertKeyword;
|
| +
|
| + @override
|
| + Iterable get childEntities => new ChildEntities()
|
| + ..add(assertKeyword)
|
| + ..add(leftParenthesis)
|
| + ..add(_condition)
|
| + ..add(comma)
|
| + ..add(_message)
|
| + ..add(rightParenthesis);
|
| +
|
| + @override
|
| + Expression get condition => _condition;
|
| +
|
| + @override
|
| + void set condition(Expression condition) {
|
| + _condition = _becomeParentOf(condition as AstNodeImpl);
|
| + }
|
| +
|
| + @override
|
| + Token get endToken => rightParenthesis;
|
| +
|
| + @override
|
| + Expression get message => _message;
|
| +
|
| + @override
|
| + void set message(Expression expression) {
|
| + _message = _becomeParentOf(expression as AstNodeImpl);
|
| + }
|
| +
|
| + @override
|
| + dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) =>
|
| + visitor.visitAssertInitializer(this);
|
| +
|
| + @override
|
| + void visitChildren(AstVisitor visitor) {
|
| + _condition?.accept(visitor);
|
| + message?.accept(visitor);
|
| + }
|
| +}
|
| +
|
| +/**
|
| * An assert statement.
|
| *
|
| * assertStatement ::=
|
| * 'assert' '(' [Expression] ')' ';'
|
| */
|
| class AssertStatementImpl extends StatementImpl implements AssertStatement {
|
| - /**
|
| - * The token representing the 'assert' keyword.
|
| - */
|
| @override
|
| Token assertKeyword;
|
|
|
| - /**
|
| - * The left parenthesis.
|
| - */
|
| @override
|
| Token leftParenthesis;
|
|
|
| @@ -581,27 +662,18 @@ class AssertStatementImpl extends StatementImpl implements AssertStatement {
|
| */
|
| Expression _condition;
|
|
|
| - /**
|
| - * The comma, if a message expression was supplied. Otherwise `null`.
|
| - */
|
| @override
|
| Token comma;
|
|
|
| /**
|
| - * The message to report if the assertion fails. `null` if no message was
|
| + * The message to report if the assertion fails, or `null` if no message was
|
| * supplied.
|
| */
|
| Expression _message;
|
|
|
| - /**
|
| - * The right parenthesis.
|
| - */
|
| @override
|
| Token rightParenthesis;
|
|
|
| - /**
|
| - * The semicolon terminating the statement.
|
| - */
|
| @override
|
| Token semicolon;
|
|
|
|
|