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

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

Issue 1988613006: Eliminate unnecessary covariance checks. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 7 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('covariance', null, /* Imports */[ 1 dart_library.library('covariance', null, /* Imports */[
2 'dart_sdk' 2 'dart_sdk'
3 ], function(exports, dart_sdk) { 3 ], function(exports, dart_sdk) {
4 'use strict'; 4 'use strict';
5 const core = dart_sdk.core; 5 const core = dart_sdk.core;
6 const dart = dart_sdk.dart; 6 const dart = dart_sdk.dart;
7 const dartx = dart_sdk.dartx; 7 const dartx = dart_sdk.dartx;
8 const covariance = Object.create(null); 8 const covariance = Object.create(null);
9 const _t = Symbol('_t'); 9 const _t = Symbol('_t');
10 covariance.Foo$ = dart.generic(T => { 10 covariance.Foo$ = dart.generic(T => {
11 class Foo extends core.Object { 11 class Foo extends core.Object {
12 Foo() { 12 Foo() {
13 this[_t] = null; 13 this[_t] = null;
14 } 14 }
15 add(t) { 15 add(t) {
16 dart.as(t, T); 16 dart.as(t, T);
17 this[_t] = t; 17 this[_t] = t;
18 } 18 }
19 forEach(fn) { 19 forEach(fn) {
20 dart.as(fn, dart.functionType(dart.void, [T]));
21 fn(this[_t]); 20 fn(this[_t]);
22 } 21 }
23 } 22 }
24 dart.setSignature(Foo, { 23 dart.setSignature(Foo, {
25 methods: () => ({ 24 methods: () => ({
26 add: [dart.dynamic, [T]], 25 add: [dart.dynamic, [T]],
27 forEach: [dart.dynamic, [dart.functionType(dart.void, [T])]] 26 forEach: [dart.dynamic, [dart.functionType(dart.void, [T])]]
28 }) 27 })
29 }); 28 });
30 return Foo; 29 return Foo;
(...skipping 12 matching lines...) Expand all
43 methods: () => ({add: [dart.dynamic, [core.int]]}) 42 methods: () => ({add: [dart.dynamic, [core.int]]})
44 }); 43 });
45 covariance.main = function() { 44 covariance.main = function() {
46 let foo = new covariance.Bar(); 45 let foo = new covariance.Bar();
47 foo.add('hi'); 46 foo.add('hi');
48 }; 47 };
49 dart.fn(covariance.main); 48 dart.fn(covariance.main);
50 // Exports: 49 // Exports:
51 exports.covariance = covariance; 50 exports.covariance = covariance;
52 }); 51 });
OLDNEW
« lib/src/compiler/code_generator.dart ('K') | « test/codegen/expect/closure.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698