| Index: pkg/compiler/lib/src/resolution/members.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
|
| index 46294f78446e0db19c911165f7576719ff74180d..4f7777d0ff0f391cff9fb4e5d9be12f78a5b6762 100644
|
| --- a/pkg/compiler/lib/src/resolution/members.dart
|
| +++ b/pkg/compiler/lib/src/resolution/members.dart
|
| @@ -499,6 +499,13 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| }
|
| }
|
|
|
| + ResolutionResult visitAssert(Assert node) {
|
| + registry.registerAssert(node.hasMessage);
|
| + visit(node.condition);
|
| + visit(node.message);
|
| + return const NoneResult();
|
| + }
|
| +
|
| ResolutionResult visitCascade(Cascade node) {
|
| visit(node.expression);
|
| return const NoneResult();
|
| @@ -1526,34 +1533,6 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| return const NoneResult();
|
| }
|
|
|
| - /// Handle a, possibly invalid, assertion, like `assert(cond)` or `assert()`.
|
| - ResolutionResult handleAssert(Send node) {
|
| - assert(invariant(node, node.isCall,
|
| - message: "Unexpected assert: $node"));
|
| - // If this send is of the form "assert(expr);", then
|
| - // this is an assertion.
|
| -
|
| - CallStructure callStructure =
|
| - resolveArguments(node.argumentsNode).callStructure;
|
| - SendStructure sendStructure = const AssertStructure();
|
| - if (callStructure.argumentCount != 1) {
|
| - compiler.reportError(
|
| - node.selector,
|
| - MessageKind.WRONG_NUMBER_OF_ARGUMENTS_FOR_ASSERT,
|
| - {'argumentCount': callStructure.argumentCount});
|
| - sendStructure = const InvalidAssertStructure();
|
| - } else if (callStructure.namedArgumentCount != 0) {
|
| - compiler.reportError(
|
| - node.selector,
|
| - MessageKind.ASSERT_IS_GIVEN_NAMED_ARGUMENTS,
|
| - {'argumentCount': callStructure.namedArgumentCount});
|
| - sendStructure = const InvalidAssertStructure();
|
| - }
|
| - registry.registerAssert(node);
|
| - registry.registerSendStructure(node, sendStructure);
|
| - return const AssertResult();
|
| - }
|
| -
|
| /// Handle access of a property of [name] on `this`, like `this.name` and
|
| /// `this.name()`, or `name` and `name()` in instance context.
|
| ResolutionResult handleThisPropertyAccess(Send node, Name name) {
|
| @@ -3027,10 +3006,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| return handleExpressionInvoke(node);
|
| }
|
| String text = selector.source;
|
| - if (text == 'assert') {
|
| - // `assert()`.
|
| - return handleAssert(node);
|
| - } else if (text == 'this') {
|
| + if (text == 'this') {
|
| // `this()`.
|
| return handleThisAccess(node);
|
| }
|
|
|