| Index: test/codegen/expect/language/type_promotion_more_specific_test_none_multi.js | 
| diff --git a/test/codegen/expect/language/type_promotion_more_specific_test_none_multi.js b/test/codegen/expect/language/type_promotion_more_specific_test_none_multi.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..34168d39e7ada7502295c61dcc13d39007587ddd | 
| --- /dev/null | 
| +++ b/test/codegen/expect/language/type_promotion_more_specific_test_none_multi.js | 
| @@ -0,0 +1,95 @@ | 
| +dart_library.library('language/type_promotion_more_specific_test_none_multi', null, /* Imports */[ | 
| +  'dart_sdk' | 
| +], function load__type_promotion_more_specific_test_none_multi(exports, dart_sdk) { | 
| +  'use strict'; | 
| +  const core = dart_sdk.core; | 
| +  const dart = dart_sdk.dart; | 
| +  const dartx = dart_sdk.dartx; | 
| +  const type_promotion_more_specific_test_none_multi = Object.create(null); | 
| +  let D = () => (D = dart.constFn(type_promotion_more_specific_test_none_multi.D$()))(); | 
| +  let E = () => (E = dart.constFn(type_promotion_more_specific_test_none_multi.E$()))(); | 
| +  let EOfB = () => (EOfB = dart.constFn(type_promotion_more_specific_test_none_multi.E$(type_promotion_more_specific_test_none_multi.B)))(); | 
| +  let EOfA = () => (EOfA = dart.constFn(type_promotion_more_specific_test_none_multi.E$(type_promotion_more_specific_test_none_multi.A)))(); | 
| +  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))(); | 
| +  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); | 
| +  type_promotion_more_specific_test_none_multi.A = class A extends core.Object { | 
| +    new() { | 
| +      this.a = null; | 
| +    } | 
| +  }; | 
| +  type_promotion_more_specific_test_none_multi.B = class B extends type_promotion_more_specific_test_none_multi.A { | 
| +    new() { | 
| +      this.b = null; | 
| +      super.new(); | 
| +    } | 
| +  }; | 
| +  type_promotion_more_specific_test_none_multi.C = class C extends core.Object { | 
| +    new() { | 
| +      this.c = null; | 
| +    } | 
| +  }; | 
| +  type_promotion_more_specific_test_none_multi.D$ = dart.generic(T => { | 
| +    class D extends core.Object { | 
| +      new(d) { | 
| +        this.d = d; | 
| +      } | 
| +    } | 
| +    dart.addTypeTests(D); | 
| +    dart.setSignature(D, { | 
| +      constructors: () => ({new: dart.definiteFunctionType(type_promotion_more_specific_test_none_multi.D$(T), [T])}) | 
| +    }); | 
| +    return D; | 
| +  }); | 
| +  type_promotion_more_specific_test_none_multi.D = D(); | 
| +  type_promotion_more_specific_test_none_multi.E$ = dart.generic(T => { | 
| +    class E extends type_promotion_more_specific_test_none_multi.D$(T) { | 
| +      new(e) { | 
| +        this.e = T._check(e); | 
| +        super.new(T._check(e)); | 
| +      } | 
| +    } | 
| +    dart.setSignature(E, { | 
| +      constructors: () => ({new: dart.definiteFunctionType(type_promotion_more_specific_test_none_multi.E$(T), [dart.dynamic])}) | 
| +    }); | 
| +    return E; | 
| +  }); | 
| +  type_promotion_more_specific_test_none_multi.E = E(); | 
| +  type_promotion_more_specific_test_none_multi.main = function() { | 
| +    type_promotion_more_specific_test_none_multi.testInterface(); | 
| +    type_promotion_more_specific_test_none_multi.testGeneric(); | 
| +  }; | 
| +  dart.fn(type_promotion_more_specific_test_none_multi.main, VoidTovoid()); | 
| +  type_promotion_more_specific_test_none_multi.testInterface = function() { | 
| +    let x = null; | 
| +    let y = null; | 
| +    let a = new type_promotion_more_specific_test_none_multi.B(); | 
| +    if (type_promotion_more_specific_test_none_multi.B.is(a)) { | 
| +    } | 
| +    if (type_promotion_more_specific_test_none_multi.C.is(a)) { | 
| +    } | 
| +    let b = new type_promotion_more_specific_test_none_multi.B(); | 
| +    if (type_promotion_more_specific_test_none_multi.A.is(b)) { | 
| +    } | 
| +    if (type_promotion_more_specific_test_none_multi.A.is(x)) { | 
| +    } | 
| +  }; | 
| +  dart.fn(type_promotion_more_specific_test_none_multi.testInterface, VoidTovoid()); | 
| +  type_promotion_more_specific_test_none_multi.testGeneric = function() { | 
| +    let x = null; | 
| +    let y = null; | 
| +    let d1 = new (EOfB())(null); | 
| +    if (type_promotion_more_specific_test_none_multi.E.is(d1)) { | 
| +    } | 
| +    if (EOfA().is(d1)) { | 
| +    } | 
| +    let d2 = new (EOfB())(null); | 
| +    if (type_promotion_more_specific_test_none_multi.E.is(d2)) { | 
| +    } | 
| +    let d3 = new (EOfB())(new type_promotion_more_specific_test_none_multi.B()); | 
| +    if (EOfB().is(d3)) { | 
| +    } | 
| +  }; | 
| +  dart.fn(type_promotion_more_specific_test_none_multi.testGeneric, VoidTodynamic()); | 
| +  // Exports: | 
| +  exports.type_promotion_more_specific_test_none_multi = type_promotion_more_specific_test_none_multi; | 
| +}); | 
|  |