| Index: test/codegen/expect/covariance.js | 
| diff --git a/test/codegen/expect/covariance.js b/test/codegen/expect/covariance.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..030ab955718927acc938f987c2b44f63463e90ad | 
| --- /dev/null | 
| +++ b/test/codegen/expect/covariance.js | 
| @@ -0,0 +1,38 @@ | 
| +var covariance; | 
| +(function(exports) { | 
| +  'use strict'; | 
| +  let _t = Symbol('_t'); | 
| +  let Foo$ = dart.generic(function(T) { | 
| +    class Foo extends core.Object { | 
| +      Foo() { | 
| +        this[_t] = null; | 
| +      } | 
| +      add(t) { | 
| +        dart.as(t, T); | 
| +        this[_t] = t; | 
| +      } | 
| +      forEach(fn) { | 
| +        dart.as(fn, dart.functionType(dart.void, [T])); | 
| +        fn(this[_t]); | 
| +      } | 
| +    } | 
| +    return Foo; | 
| +  }); | 
| +  let Foo = Foo$(); | 
| +  class Bar extends Foo$(core.int) { | 
| +    add(x) { | 
| +      core.print(`Bar.add got ${x}`); | 
| +      super.add(x); | 
| +    } | 
| +  } | 
| +  // Function main: () → dynamic | 
| +  function main() { | 
| +    let foo = new Bar(); | 
| +    foo.add('hi'); | 
| +  } | 
| +  // Exports: | 
| +  exports.Foo$ = Foo$; | 
| +  exports.Foo = Foo; | 
| +  exports.Bar = Bar; | 
| +  exports.main = main; | 
| +})(covariance || (covariance = {})); | 
|  |