OLD | NEW |
1 dart_library.library('language/callable_test_none_multi', null, /* Imports */[ | 1 dart_library.library('language/callable_test_none_multi', null, /* Imports */[ |
2 'dart_sdk' | 2 'dart_sdk', |
3 ], function load__callable_test_none_multi(exports, dart_sdk) { | 3 'expect' |
| 4 ], function load__callable_test_none_multi(exports, dart_sdk, expect) { |
4 'use strict'; | 5 'use strict'; |
5 const core = dart_sdk.core; | 6 const core = dart_sdk.core; |
6 const dart = dart_sdk.dart; | 7 const dart = dart_sdk.dart; |
7 const dartx = dart_sdk.dartx; | 8 const dartx = dart_sdk.dartx; |
| 9 const expect$ = expect.expect; |
8 const callable_test_none_multi = Object.create(null); | 10 const callable_test_none_multi = Object.create(null); |
| 11 let Z = () => (Z = dart.constFn(callable_test_none_multi.Z$()))(); |
| 12 let ZOfint = () => (ZOfint = dart.constFn(callable_test_none_multi.Z$(core.int
)))(); |
9 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT
ype(dart.dynamic, [])))(); | 13 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT
ype(dart.dynamic, [])))(); |
10 callable_test_none_multi.X = dart.callableClass(function X(...args) { | 14 callable_test_none_multi.X = dart.callableClass(function X(...args) { |
11 const self = this; | |
12 function call(...args) { | 15 function call(...args) { |
13 return self.call.apply(self, args); | 16 return call.call.apply(call, args); |
14 } | 17 } |
15 call.__proto__ = this.__proto__; | 18 call.__proto__ = this.__proto__; |
16 call.new.apply(call, args); | 19 call.new.apply(call, args); |
17 return call; | 20 return call; |
18 }, class X extends core.Object { | 21 }, class X extends core.Object { |
19 call() { | 22 call() { |
20 return 42; | 23 return 42; |
21 } | 24 } |
22 }); | 25 }); |
23 dart.setSignature(callable_test_none_multi.X, { | 26 dart.setSignature(callable_test_none_multi.X, { |
24 methods: () => ({call: dart.definiteFunctionType(dart.dynamic, [])}) | 27 methods: () => ({call: dart.definiteFunctionType(dart.dynamic, [])}) |
25 }); | 28 }); |
26 callable_test_none_multi.Y = dart.callableClass(function Y(...args) { | 29 callable_test_none_multi.Y = dart.callableClass(function Y(...args) { |
27 const self = this; | |
28 function call(...args) { | 30 function call(...args) { |
29 return self.call.apply(self, args); | 31 return call.call.apply(call, args); |
30 } | 32 } |
31 call.__proto__ = this.__proto__; | 33 call.__proto__ = this.__proto__; |
32 call.new.apply(call, args); | 34 call.new.apply(call, args); |
33 return call; | 35 return call; |
34 }, class Y extends core.Object { | 36 }, class Y extends core.Object { |
35 call(x) { | 37 call(x) { |
36 return 87; | 38 return 87 + dart.notNull(x); |
| 39 } |
| 40 static staticMethod(x) { |
| 41 return dart.notNull(x) + 1; |
37 } | 42 } |
38 }); | 43 }); |
39 dart.setSignature(callable_test_none_multi.Y, { | 44 dart.setSignature(callable_test_none_multi.Y, { |
40 methods: () => ({call: dart.definiteFunctionType(dart.dynamic, [core.int])}) | 45 methods: () => ({call: dart.definiteFunctionType(dart.dynamic, [core.int])})
, |
| 46 statics: () => ({staticMethod: dart.definiteFunctionType(core.int, [core.int
])}), |
| 47 names: ['staticMethod'] |
41 }); | 48 }); |
| 49 callable_test_none_multi.Z$ = dart.generic(T => { |
| 50 const Z = dart.callableClass(function Z(...args) { |
| 51 function call(...args) { |
| 52 return call.call.apply(call, args); |
| 53 } |
| 54 call.__proto__ = this.__proto__; |
| 55 call.new.apply(call, args); |
| 56 return call; |
| 57 }, class Z extends core.Object { |
| 58 new(value) { |
| 59 this.value = value; |
| 60 } |
| 61 call() { |
| 62 return this.value; |
| 63 } |
| 64 static staticMethod(x) { |
| 65 return dart.notNull(x) + 1; |
| 66 } |
| 67 }); |
| 68 dart.addTypeTests(Z); |
| 69 dart.setSignature(Z, { |
| 70 constructors: () => ({new: dart.definiteFunctionType(callable_test_none_mu
lti.Z$(T), [T])}), |
| 71 methods: () => ({call: dart.definiteFunctionType(dart.dynamic, [])}), |
| 72 statics: () => ({staticMethod: dart.definiteFunctionType(core.int, [core.i
nt])}), |
| 73 names: ['staticMethod'] |
| 74 }); |
| 75 return Z; |
| 76 }); |
| 77 callable_test_none_multi.Z = Z(); |
42 callable_test_none_multi.F = dart.typedef('F', () => dart.functionType(dart.dy
namic, [core.int])); | 78 callable_test_none_multi.F = dart.typedef('F', () => dart.functionType(dart.dy
namic, [core.int])); |
43 callable_test_none_multi.G = dart.typedef('G', () => dart.functionType(dart.dy
namic, [core.String])); | 79 callable_test_none_multi.G = dart.typedef('G', () => dart.functionType(dart.dy
namic, [core.String])); |
44 callable_test_none_multi.main = function() { | 80 callable_test_none_multi.main = function() { |
45 let x = new callable_test_none_multi.X(); | 81 let x = new callable_test_none_multi.X(); |
46 let f = x; | 82 let f = x; |
47 let y = new callable_test_none_multi.Y(); | 83 let y = new callable_test_none_multi.Y(); |
48 let g = y; | 84 let g = y; |
49 let f0 = y; | 85 let f0 = y; |
| 86 expect$.Expect.equals(dart.dcall(f), 42); |
| 87 expect$.Expect.equals(dart.dcall(g, 100), 187); |
| 88 let z = new (ZOfint())(123); |
| 89 expect$.Expect.equals(z(), 123); |
| 90 expect$.Expect.equals(callable_test_none_multi.Y.staticMethod(6), 7); |
| 91 expect$.Expect.equals(callable_test_none_multi.Z.staticMethod(6), 7); |
50 }; | 92 }; |
51 dart.fn(callable_test_none_multi.main, VoidTodynamic()); | 93 dart.fn(callable_test_none_multi.main, VoidTodynamic()); |
52 // Exports: | 94 // Exports: |
53 exports.callable_test_none_multi = callable_test_none_multi; | 95 exports.callable_test_none_multi = callable_test_none_multi; |
54 }); | 96 }); |
OLD | NEW |