| OLD | NEW |
| (Empty) |
| 1 dart_library.library('covariance', null, /* Imports */[ | |
| 2 'dart_sdk' | |
| 3 ], function(exports, dart_sdk) { | |
| 4 'use strict'; | |
| 5 const core = dart_sdk.core; | |
| 6 const dart = dart_sdk.dart; | |
| 7 const dartx = dart_sdk.dartx; | |
| 8 const covariance = Object.create(null); | |
| 9 const _t = Symbol('_t'); | |
| 10 covariance.Foo$ = dart.generic(T => { | |
| 11 class Foo extends core.Object { | |
| 12 new() { | |
| 13 this[_t] = null; | |
| 14 } | |
| 15 add(t) { | |
| 16 dart.as(t, T); | |
| 17 this[_t] = t; | |
| 18 } | |
| 19 forEach(fn) { | |
| 20 fn(this[_t]); | |
| 21 } | |
| 22 } | |
| 23 dart.setSignature(Foo, { | |
| 24 methods: () => ({ | |
| 25 add: [dart.dynamic, [T]], | |
| 26 forEach: [dart.dynamic, [dart.functionType(dart.void, [T])]] | |
| 27 }) | |
| 28 }); | |
| 29 return Foo; | |
| 30 }); | |
| 31 covariance.Foo = covariance.Foo$(); | |
| 32 covariance.Bar = class Bar extends covariance.Foo$(core.int) { | |
| 33 new() { | |
| 34 super.new(); | |
| 35 } | |
| 36 add(x) { | |
| 37 core.print(`Bar.add got ${x}`); | |
| 38 super.add(x); | |
| 39 } | |
| 40 }; | |
| 41 dart.setSignature(covariance.Bar, { | |
| 42 methods: () => ({add: [dart.dynamic, [core.int]]}) | |
| 43 }); | |
| 44 covariance.main = function() { | |
| 45 let foo = new covariance.Bar(); | |
| 46 foo.add('hi'); | |
| 47 }; | |
| 48 dart.fn(covariance.main); | |
| 49 // Exports: | |
| 50 exports.covariance = covariance; | |
| 51 }); | |
| OLD | NEW |