| Index: pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
|
| diff --git a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
|
| index c1f31a983876531f3b5da4ecc174383541c2eefa..c820a6c5eb6268c8c8e9d4bcca282b21f1fe4081 100644
|
| --- a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
|
| +++ b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
|
| @@ -5,6 +5,7 @@
|
| library inferrer_visitor;
|
|
|
| import '../constants/constant_system.dart';
|
| +import '../constants/expressions.dart';
|
| import '../dart2jslib.dart' hide Selector, TypedSelector;
|
| import '../dart_types.dart';
|
| import '../elements/elements.dart';
|
| @@ -812,10 +813,78 @@ abstract class InferrerVisitor
|
| return types.dynamicType;
|
| }
|
|
|
| - T visitTypeLiteralSend(Send node) {
|
| + T handleTypeLiteralGet() {
|
| return types.typeType;
|
| }
|
|
|
| + T handleTypeLiteralInvoke(NodeList arguments) {
|
| + return types.dynamicType;
|
| + }
|
| +
|
| + T visitClassTypeLiteralGet(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + _) {
|
| + return handleTypeLiteralGet();
|
| + }
|
| +
|
| + T visitClassTypeLiteralInvoke(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| + _) {
|
| + return handleTypeLiteralInvoke(arguments);
|
| + }
|
| +
|
| + T visitTypedefTypeLiteralGet(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + _) {
|
| + return handleTypeLiteralGet();
|
| + }
|
| +
|
| + T visitTypedefTypeLiteralInvoke(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| + _) {
|
| + return handleTypeLiteralInvoke(arguments);
|
| + }
|
| +
|
| + T visitTypeVariableTypeLiteralGet(
|
| + Send node,
|
| + TypeVariableElement element,
|
| + _) {
|
| + return handleTypeLiteralGet();
|
| + }
|
| +
|
| + T visitTypeVariableTypeLiteralInvoke(
|
| + Send node,
|
| + TypeVariableElement element,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| + _) {
|
| + return handleTypeLiteralInvoke(arguments);
|
| + }
|
| +
|
| + T visitDynamicTypeLiteralGet(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + _) {
|
| + return handleTypeLiteralGet();
|
| + }
|
| +
|
| + T visitDynamicTypeLiteralInvoke(
|
| + Send node,
|
| + ConstantExpression constant,
|
| + NodeList arguments,
|
| + CallStructure callStructure,
|
| + _) {
|
| + return handleTypeLiteralInvoke(arguments);
|
| + }
|
| +
|
| bool isThisOrSuper(Node node) => node.isThis() || node.isSuper();
|
|
|
| Element get outermostElement {
|
|
|