| Index: lib/compiler/implementation/resolved_visitor.dart
|
| diff --git a/lib/compiler/implementation/resolved_visitor.dart b/lib/compiler/implementation/resolved_visitor.dart
|
| index b00059e4cdaf79146da7d57aeb689e1f152878f6..f2464513ce3e769d1eb11ababdaf6ce971cba67d 100644
|
| --- a/lib/compiler/implementation/resolved_visitor.dart
|
| +++ b/lib/compiler/implementation/resolved_visitor.dart
|
| @@ -12,8 +12,15 @@ abstract class ResolvedVisitor<R> extends Visitor<R> {
|
| return visitSuperSend(node);
|
| } else if (node.isOperator) {
|
| return visitOperatorSend(node);
|
| - } else if (node.isPropertyAccess) {
|
| - return visitGetterSend(node);
|
| + } else if (node.isPropertyAccessOrTypeReference) {
|
| + Element element = elements[node];
|
| + if (!Elements.isUnresolved(element)
|
| + && element.kind == ElementKind.CLASS) {
|
| + return visitClassLiteralSend(node);
|
| + } else {
|
| + return visitGetterSend(node);
|
| + }
|
| + // TODO(karlklose): implement reference to type variable.
|
| } else if (Elements.isClosureSend(node, elements[node])) {
|
| return visitClosureSend(node);
|
| } else {
|
| @@ -51,6 +58,7 @@ abstract class ResolvedVisitor<R> extends Visitor<R> {
|
| abstract R visitDynamicSend(Send node);
|
| abstract R visitForeignSend(Send node);
|
| abstract R visitStaticSend(Send node);
|
| + abstract R visitClassLiteralSend(Send node);
|
|
|
| abstract void internalError(String reason, [Node node]);
|
|
|
|
|