| Index: pkg/compiler/lib/src/typechecker.dart
|
| diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart
|
| index cb64d9b989bf2a423348ec1ef0c2cf4df6778326..323c19db73bf53503e3be49d82ec0bf79c3e23b1 100644
|
| --- a/pkg/compiler/lib/src/typechecker.dart
|
| +++ b/pkg/compiler/lib/src/typechecker.dart
|
| @@ -146,25 +146,6 @@ class DynamicAccess implements ElementAccess {
|
| String toString() => 'DynamicAccess';
|
| }
|
|
|
| -/// An access of the `assert` method.
|
| -class AssertAccess implements ElementAccess {
|
| - const AssertAccess();
|
| -
|
| - Element get element => null;
|
| -
|
| - String get name => 'assert';
|
| -
|
| - DartType computeType(Compiler compiler) {
|
| - return new FunctionType.synthesized(
|
| - const VoidType(),
|
| - <DartType>[const DynamicType()]);
|
| - }
|
| -
|
| - bool isCallable(Compiler compiler) => true;
|
| -
|
| - String toString() => 'AssertAccess';
|
| -}
|
| -
|
| /**
|
| * An access of a resolved top-level or static property or function, or an
|
| * access of a resolved element through [:this:].
|
| @@ -614,6 +595,12 @@ class TypeCheckerVisitor extends Visitor<DartType> {
|
| return type;
|
| }
|
|
|
| + DartType visitAssert(Assert node) {
|
| + analyze(node.condition);
|
| + if (node.hasMessage) analyze(node.message);
|
| + return const StatementType();
|
| + }
|
| +
|
| DartType visitBlock(Block node) {
|
| return analyze(node.statements);
|
| }
|
| @@ -1165,10 +1152,6 @@ class TypeCheckerVisitor extends Visitor<DartType> {
|
| }
|
|
|
| DartType visitSend(Send node) {
|
| - if (elements.isAssert(node)) {
|
| - return analyzeInvocation(node, const AssertAccess());
|
| - }
|
| -
|
| Element element = elements[node];
|
|
|
| if (element != null && element.isConstructor) {
|
|
|