| 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(); | 
|  |