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

Side by Side Diff: dart/tests/compiler/dart2js_foreign/native_property_test.dart

Issue 23477028: Remove dart2js_foreign. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 // Properties on hidden native classes.
6
7 import "package:expect/expect.dart";
8 import 'native_metadata.dart';
9
10 @Native("*A")
11 class A {
12
13 // Setters and getters should be similar to these methods:
14 @Native('return this._x;')
15 int getX();
16
17 @Native('this._x = value;')
18 void setX(int value);
19
20 @native
21 int get X;
22
23 @native
24 set X(int value);
25
26 @native
27 int get Y;
28
29 @native
30 set Y(int value);
31
32 @Native('return this._z;')
33 int get Z;
34
35 @Native('this._z = value;')
36 set Z(int value);
37 }
38
39 @native
40 A makeA() { return new A(); }
41
42 @Native("""
43 function A() {}
44
45 Object.defineProperty(A.prototype, "X", {
46 get: function () { return this._x; },
47 set: function (v) { this._x = v; }
48 });
49
50 makeA = function(){return new A;};
51 """)
52 void setup();
53
54
55 main() {
56 setup();
57
58 var a = makeA();
59
60 a.setX(5);
61 Expect.equals(5, a.getX());
62
63 a.X = 10;
64 a.Y = 20;
65 a.Z = 30;
66
67 Expect.equals(10, a.X);
68 Expect.equals(20, a.Y);
69 Expect.equals(30, a.Z);
70 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698