OLD | NEW |
1 dart_library.library('opassign', null, /* Imports */[ | 1 dart_library.library('opassign', null, /* Imports */[ |
2 'dart/_runtime', | 2 'dart/_runtime', |
3 'dart/core' | 3 'dart/core' |
4 ], /* Lazy imports */[ | 4 ], /* Lazy imports */[ |
5 ], function(exports, dart, core) { | 5 ], function(exports, dart, core) { |
6 'use strict'; | 6 'use strict'; |
7 let dartx = dart.dartx; | 7 let dartx = dart.dartx; |
8 dart.copyProperties(exports, { | 8 dart.copyProperties(exports, { |
9 get index() { | 9 get index() { |
10 core.print('called "index" getter'); | 10 core.print('called "index" getter'); |
(...skipping 13 matching lines...) Expand all Loading... |
24 }); | 24 }); |
25 class Foo extends core.Object { | 25 class Foo extends core.Object { |
26 Foo() { | 26 Foo() { |
27 this.x = 100; | 27 this.x = 100; |
28 } | 28 } |
29 } | 29 } |
30 function main() { | 30 function main() { |
31 let f = dart.map([0, 40]); | 31 let f = dart.map([0, 40]); |
32 core.print('should only call "index" 2 times:'); | 32 core.print('should only call "index" 2 times:'); |
33 let i = exports.index; | 33 let i = exports.index; |
34 f.set(i, dart.dsend(f.get(i), '+', 1)); | 34 f[dartx.set](i, dart.dsend(f[dartx.get](i), '+', 1)); |
35 forcePostfix((() => { | 35 forcePostfix((() => { |
36 let i = exports.index, x = f.get(i); | 36 let i = exports.index, x = f[dartx.get](i); |
37 f.set(i, dart.dsend(x, '+', 1)); | 37 f[dartx.set](i, dart.dsend(x, '+', 1)); |
38 return x; | 38 return x; |
39 })()); | 39 })()); |
40 core.print('should only call "foo" 2 times:'); | 40 core.print('should only call "foo" 2 times:'); |
41 let o = exports.foo; | 41 let o = exports.foo; |
42 dart.dput(o, 'x', dart.dsend(dart.dload(o, 'x'), '+', 1)); | 42 dart.dput(o, 'x', dart.dsend(dart.dload(o, 'x'), '+', 1)); |
43 forcePostfix((() => { | 43 forcePostfix((() => { |
44 let o = exports.foo, x = dart.dload(o, 'x'); | 44 let o = exports.foo, x = dart.dload(o, 'x'); |
45 dart.dput(o, 'x', dart.dsend(x, '+', 1)); | 45 dart.dput(o, 'x', dart.dsend(x, '+', 1)); |
46 return x; | 46 return x; |
47 })()); | 47 })()); |
48 core.print('op assign test, should only call "index" twice:'); | 48 core.print('op assign test, should only call "index" twice:'); |
49 let i$ = exports.index; | 49 let i$ = exports.index; |
50 f.set(i$, dart.dsend(f.get(i$), '+', f.get(exports.index))); | 50 f[dartx.set](i$, dart.dsend(f[dartx.get](i$), '+', f[dartx.get](exports.inde
x))); |
51 } | 51 } |
52 dart.fn(main); | 52 dart.fn(main); |
53 function forcePostfix(x) { | 53 function forcePostfix(x) { |
54 } | 54 } |
55 dart.fn(forcePostfix); | 55 dart.fn(forcePostfix); |
56 // Exports: | 56 // Exports: |
57 exports.Foo = Foo; | 57 exports.Foo = Foo; |
58 exports.main = main; | 58 exports.main = main; |
59 exports.forcePostfix = forcePostfix; | 59 exports.forcePostfix = forcePostfix; |
60 }); | 60 }); |
OLD | NEW |