| Index: sdk/lib/_internal/compiler/implementation/ssa/types_propagation.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/ssa/types_propagation.dart (revision 19427)
|
| +++ sdk/lib/_internal/compiler/implementation/ssa/types_propagation.dart (working copy)
|
| @@ -135,9 +135,14 @@
|
| HType type = HType.CONFLICTING;
|
| DartType functionType = compiler.functionClass.computeType(compiler);
|
| for (Element each in compiler.world.allFunctions.filter(refined)) {
|
| - HType inferred = (refined.isGetter() && each.isFunction())
|
| - ? new HType.nonNullExact(functionType, compiler)
|
| - : new HType.inferredForElement(each, compiler);
|
| + HType inferred;
|
| + if (refined.isGetter() && each.isFunction()) {
|
| + inferred = new HType.nonNullExact(functionType, compiler);
|
| + } else if (refined.isGetter() && each.isField()) {
|
| + inferred = new HType.inferredTypeForElement(each, compiler);
|
| + } else {
|
| + inferred = new HType.inferredReturnTypeForElement(each, compiler);
|
| + }
|
| type = type.union(inferred, compiler);
|
| if (type.isUnknown()) break;
|
| }
|
|
|