Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: test/codegen_expected/language/callable_test_none_multi.js

Issue 2200913002: fixes #616, statics on callable functions (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 });
OLDNEW
« no previous file with comments | « test/codegen_expected/language/call_with_no_such_method_test.js ('k') | test/codegen_expected/language/cascade2_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698