| Index: lib/compiler/implementation/resolved_visitor.dart
|
| diff --git a/lib/compiler/implementation/resolved_visitor.dart b/lib/compiler/implementation/resolved_visitor.dart
|
| index 47fcb883e82ce7facdc193d703369049bce45bd8..6289c7e83579c7605242673743735bf01a24135a 100644
|
| --- a/lib/compiler/implementation/resolved_visitor.dart
|
| +++ b/lib/compiler/implementation/resolved_visitor.dart
|
| @@ -13,7 +13,15 @@ abstract class ResolvedVisitor<R> extends Visitor<R> {
|
| } else if (node.isOperator) {
|
| return visitOperatorSend(node);
|
| } else if (node.isPropertyAccess) {
|
| - return visitGetterSend(node);
|
| + Element element = elements[node];
|
| + if (!Elements.isUnresolved(element)
|
| + && element.kind == ElementKind.CLASS) {
|
| + // A reference to a class literal.
|
| + return visitTypeReferenceSend(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 +59,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 visitTypeReferenceSend(Send node);
|
|
|
| abstract void internalError(String reason, {Node node});
|
|
|
|
|