Index: pkg/compiler/lib/src/typechecker.dart |
diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart |
index 69137ab1fe80fdf67cc45060b05385a93e3a9f9c..008878d3f2b2629ecd93d445f12e02a14ac34c64 100644 |
--- a/pkg/compiler/lib/src/typechecker.dart |
+++ b/pkg/compiler/lib/src/typechecker.dart |
@@ -1742,11 +1742,7 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
DartType visitAwait(Await node) { |
DartType expressionType = analyze(node.expression); |
- if (compiler.backend.supportsAsyncAwait) { |
Johnni Winther
2016/07/08 08:05:39
Ditto.
Harry Terkelsen
2016/07/18 17:35:58
Done.
|
- return types.flatten(expressionType); |
- } else { |
- return const DynamicType(); |
- } |
+ return types.flatten(expressionType); |
} |
DartType visitYield(Yield node) { |
@@ -1869,31 +1865,29 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
visitAsyncForIn(AsyncForIn node) { |
DartType elementType = computeForInElementType(node); |
DartType expressionType = analyze(node.expression); |
- if (compiler.backend.supportsAsyncAwait) { |
Johnni Winther
2016/07/08 08:05:39
Ditto.
Harry Terkelsen
2016/07/18 17:35:58
Done.
|
- DartType streamOfDynamic = coreTypes.streamType(); |
- if (!types.isAssignable(expressionType, streamOfDynamic)) { |
- reportMessage(node.expression, MessageKind.NOT_ASSIGNABLE, |
- {'fromType': expressionType, 'toType': streamOfDynamic}, |
- isHint: true); |
- } else { |
- InterfaceType interfaceType = |
- Types.computeInterfaceType(resolution, expressionType); |
- if (interfaceType != null) { |
- InterfaceType streamType = |
- interfaceType.asInstanceOf(streamOfDynamic.element); |
- if (streamType != null) { |
- DartType streamElementType = streamType.typeArguments.first; |
- if (!types.isAssignable(streamElementType, elementType)) { |
- reportMessage( |
- node.expression, |
- MessageKind.FORIN_NOT_ASSIGNABLE, |
- { |
- 'currentType': streamElementType, |
- 'expressionType': expressionType, |
- 'elementType': elementType |
- }, |
- isHint: true); |
- } |
+ DartType streamOfDynamic = coreTypes.streamType(); |
+ if (!types.isAssignable(expressionType, streamOfDynamic)) { |
+ reportMessage(node.expression, MessageKind.NOT_ASSIGNABLE, |
+ {'fromType': expressionType, 'toType': streamOfDynamic}, |
+ isHint: true); |
+ } else { |
+ InterfaceType interfaceType = |
+ Types.computeInterfaceType(resolution, expressionType); |
+ if (interfaceType != null) { |
+ InterfaceType streamType = |
+ interfaceType.asInstanceOf(streamOfDynamic.element); |
+ if (streamType != null) { |
+ DartType streamElementType = streamType.typeArguments.first; |
+ if (!types.isAssignable(streamElementType, elementType)) { |
+ reportMessage( |
+ node.expression, |
+ MessageKind.FORIN_NOT_ASSIGNABLE, |
+ { |
+ 'currentType': streamElementType, |
+ 'expressionType': expressionType, |
+ 'elementType': elementType |
+ }, |
+ isHint: true); |
} |
} |
} |