| Index: pkg/compiler/lib/src/resolution/send_structure.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/send_structure.dart b/pkg/compiler/lib/src/resolution/send_structure.dart
|
| index a427db9df015cfff3274a212e9d78111f40e4028..6cef7eb06bbd1ba5366e2992a14951b04cb944b5 100644
|
| --- a/pkg/compiler/lib/src/resolution/send_structure.dart
|
| +++ b/pkg/compiler/lib/src/resolution/send_structure.dart
|
| @@ -35,6 +35,35 @@ abstract class SendStructure<R, A> extends SemanticSendStructure<R, A> {
|
| R dispatch(SemanticSendVisitor<R, A> visitor, Send send, A arg);
|
| }
|
|
|
| +/// The structure for a [Send] of the form `assert(e)`.
|
| +class AssertStructure<R, A> implements SendStructure<R, A> {
|
| + const AssertStructure();
|
| +
|
| + R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
|
| + return visitor.visitAssert(
|
| + node,
|
| + node.arguments.single,
|
| + arg);
|
| + }
|
| +
|
| + String toString() => 'assert';
|
| +}
|
| +
|
| +/// The structure for a [Send] of the form an `assert` with less or more than
|
| +/// one argument.
|
| +class InvalidAssertStructure<R, A> implements SendStructure<R, A> {
|
| + const InvalidAssertStructure();
|
| +
|
| + R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
|
| + return visitor.errorInvalidAssert(
|
| + node,
|
| + node.argumentsNode,
|
| + arg);
|
| + }
|
| +
|
| + String toString() => 'invalid assert';
|
| +}
|
| +
|
| /// The structure for a [Send] of the form `a ?? b`.
|
| class IfNullStructure<R, A> implements SendStructure<R, A> {
|
| const IfNullStructure();
|
|
|