| Index: pkg/compiler/lib/src/typechecker.dart
|
| diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart
|
| index 0aacdb9ed36d8abd1311afe3f656e6c80825e620..0a0596ce0397a20f1e411dc3c08afe8c46ab70b2 100644
|
| --- a/pkg/compiler/lib/src/typechecker.dart
|
| +++ b/pkg/compiler/lib/src/typechecker.dart
|
| @@ -756,7 +756,7 @@ class TypeCheckerVisitor extends Visitor<DartType> {
|
| // This is an access the implicit 'call' method of a function type.
|
| return new FunctionCallAccess(receiverElement, unaliasedBound);
|
| }
|
| - if (types.isSubtype(interface, compiler.functionClass.rawType)) {
|
| + if (types.isSubtype(interface, coreTypes.functionType)) {
|
| // This is an access of the special 'call' method implicitly defined
|
| // on 'Function'. This method can be called with any arguments, which
|
| // we ensure by giving it the type 'dynamic'.
|
| @@ -1334,15 +1334,15 @@ class TypeCheckerVisitor extends Visitor<DartType> {
|
| LinkBuilder<DartType> argumentTypesBuilder = new LinkBuilder<DartType>();
|
| DartType resultType =
|
| analyzeInvocation(node, access, argumentTypesBuilder);
|
| - if (identical(receiverType.element, compiler.intClass)) {
|
| + if (receiverType == intType) {
|
| if (identical(name, '+') ||
|
| identical(operatorName, '-') ||
|
| identical(name, '*') ||
|
| identical(name, '%')) {
|
| DartType argumentType = argumentTypesBuilder.toLink().head;
|
| - if (identical(argumentType.element, compiler.intClass)) {
|
| + if (argumentType == intType) {
|
| return intType;
|
| - } else if (identical(argumentType.element, compiler.doubleClass)) {
|
| + } else if (argumentType == doubleType) {
|
| return doubleType;
|
| }
|
| }
|
| @@ -1839,7 +1839,7 @@ class TypeCheckerVisitor extends Visitor<DartType> {
|
| Types.computeInterfaceType(resolution, expressionType);
|
| if (interfaceType != null) {
|
| InterfaceType streamType =
|
| - interfaceType.asInstanceOf(compiler.streamClass);
|
| + interfaceType.asInstanceOf(streamOfDynamic.element);
|
| if (streamType != null) {
|
| DartType streamElementType = streamType.typeArguments.first;
|
| if (!types.isAssignable(streamElementType, elementType)) {
|
|
|