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

Side by Side Diff: test/codegen/expect/closure.js

Issue 1630963003: Use a symbol for static length/name (conflicts with Function properties in ES5: cannot redefine Fun… (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: left todo Created 4 years, 10 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
« no previous file with comments | « test/codegen/closure.dart ('k') | test/codegen/expect/names.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart_library.library('closure', null, /* Imports */[ 1 dart_library.library('closure', null, /* Imports */[
2 'dart/_runtime', 2 'dart/_runtime',
3 'dart/core', 3 'dart/core',
4 'dart/js' 4 'dart/js'
5 ], /* Lazy imports */[ 5 ], /* Lazy imports */[
6 ], function(exports, dart, core, js) { 6 ], function(exports, dart, core, js) {
7 'use strict'; 7 'use strict';
8 let dartx = dart.dartx; 8 let dartx = dart.dartx;
9 /** @typedef {function({i: (?number|undefined)}=)} */ 9 /** @typedef {function({i: (?number|undefined)}=)} */
10 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int})); 10 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int}));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 if (c === void 0) c = null; 60 if (c === void 0) c = null;
61 } 61 }
62 /** 62 /**
63 * @param {?} a 63 * @param {?} a
64 * @param {{b: (?|undefined), c: (?|undefined)}=} opts 64 * @param {{b: (?|undefined), c: (?|undefined)}=} opts
65 */ 65 */
66 static named_params(a, opts) { 66 static named_params(a, opts) {
67 let b = opts && 'b' in opts ? opts.b : null; 67 let b = opts && 'b' in opts ? opts.b : null;
68 let c = opts && 'c' in opts ? opts.c : null; 68 let c = opts && 'c' in opts ? opts.c : null;
69 } 69 }
70 static [dartx.name]() {
71 return 'Foo.name()';
72 }
73 static [dartx.length]() {
74 return 'Foo.length()';
75 }
76 static [dartx.arguments]() {
77 return 'Foo.arguments()';
78 }
79 static [dartx.caller]() {
80 return 'Foo.caller()';
81 }
82 static [dartx.callee]() {
83 return 'Foo.callee()';
84 }
70 nullary_method() {} 85 nullary_method() {}
71 /** 86 /**
72 * @param {function(?, ?=):?number} f 87 * @param {function(?, ?=):?number} f
73 * @param {function(?, {y: (string|undefined), z: (?|undefined)}=):?} g 88 * @param {function(?, {y: (string|undefined), z: (?|undefined)}=):?} g
74 * @param {Callback} cb 89 * @param {Callback} cb
75 */ 90 */
76 function_params(f, g, cb) { 91 function_params(f, g, cb) {
77 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic])); 92 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic]));
78 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Stri ng, z: dart.dynamic})); 93 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Stri ng, z: dart.dynamic}));
79 cb({i: this.i}); 94 cb({i: this.i});
(...skipping 17 matching lines...) Expand all
97 build: [Foo$(T), []] 112 build: [Foo$(T), []]
98 }), 113 }),
99 methods: () => ({ 114 methods: () => ({
100 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]], 115 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]],
101 pass: [T, [T]], 116 pass: [T, [T]],
102 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core .double, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]], 117 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core .double, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]],
103 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dyna mic]], 118 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dyna mic]],
104 nullary_method: [dart.dynamic, []], 119 nullary_method: [dart.dynamic, []],
105 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynam ic], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.S tring, z: dart.dynamic}), Callback]] 120 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynam ic], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.S tring, z: dart.dynamic}), Callback]]
106 }), 121 }),
107 statics: () => ({named_params: [dart.dynamic, [dart.dynamic], {b: dart.dyn amic, c: dart.dynamic}]}), 122 statics: () => ({
108 names: ['named_params'] 123 named_params: [dart.dynamic, [dart.dynamic], {b: dart.dynamic, c: dart.d ynamic}],
124 [dartx.name]: [dart.dynamic, []],
125 [dartx.length]: [dart.dynamic, []],
126 [dartx.arguments]: [dart.dynamic, []],
127 [dartx.caller]: [dart.dynamic, []],
128 [dartx.callee]: [dart.dynamic, []]
129 }),
130 names: ['named_params', dartx.name, dartx.length, dartx.arguments, dartx.c aller, dartx.callee]
109 }); 131 });
110 /** @final {string} */ 132 /** @final {string} */
111 Foo.some_static_constant = "abc"; 133 Foo.some_static_constant = "abc";
112 /** @final {string} */ 134 /** @final {string} */
113 Foo.some_static_final = "abc"; 135 Foo.some_static_final = "abc";
114 /** @type {string} */ 136 /** @type {string} */
115 Foo.some_static_var = "abc"; 137 Foo.some_static_var = "abc";
116 return Foo; 138 return Foo;
117 }); 139 });
118 let Foo = Foo$(); 140 let Foo = Foo$();
119 class Bar extends core.Object {} 141 class Bar extends core.Object {}
120 class Baz extends dart.mixin(Foo$(core.int), Bar) { 142 class Baz extends dart.mixin(Foo$(core.int), Bar) {
121 /** @param {?number} i */ 143 /** @param {?number} i */
122 Baz(i) { 144 Baz(i) {
123 super.Foo(i, 123); 145 super.Foo(i, 123);
124 } 146 }
125 } 147 }
126 dart.setSignature(Baz, { 148 dart.setSignature(Baz, {
127 constructors: () => ({Baz: [Baz, [core.int]]}) 149 constructors: () => ({Baz: [Baz, [core.int]]})
128 }); 150 });
129 /** @param {?} args */ 151 /** @param {?} args */
130 function main(args) { 152 function main(args) {
153 core.print(Foo[dartx.name]());
154 core.print(Foo[dartx.length]());
155 core.print(Foo[dartx.arguments]());
156 core.print(Foo[dartx.caller]());
157 core.print(Foo[dartx.callee]());
131 } 158 }
132 dart.fn(main, dart.void, [dart.dynamic]); 159 dart.fn(main, dart.void, [dart.dynamic]);
133 /** @final {string} */ 160 /** @final {string} */
134 const some_top_level_constant = "abc"; 161 const some_top_level_constant = "abc";
135 /** @final {string} */ 162 /** @final {string} */
136 exports.some_top_level_final = "abc"; 163 exports.some_top_level_final = "abc";
137 /** @type {string} */ 164 /** @type {string} */
138 exports.some_top_level_var = "abc"; 165 exports.some_top_level_var = "abc";
166 dart.defineExtensionNames([
167 "name",
168 "length",
169 "arguments",
170 "caller",
171 "callee"
172 ]);
139 // Exports: 173 // Exports:
140 exports.Callback = Callback; 174 exports.Callback = Callback;
141 exports.Foo$ = Foo$; 175 exports.Foo$ = Foo$;
142 exports.Foo = Foo; 176 exports.Foo = Foo;
143 exports.Bar = Bar; 177 exports.Bar = Bar;
144 exports.Baz = Baz; 178 exports.Baz = Baz;
145 exports.main = main; 179 exports.main = main;
146 exports.some_top_level_constant = some_top_level_constant; 180 exports.some_top_level_constant = some_top_level_constant;
147 }); 181 });
OLDNEW
« no previous file with comments | « test/codegen/closure.dart ('k') | test/codegen/expect/names.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698