| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // Dart test program for testing use of 'this' in an instance method. |
| |
| import "package:expect/expect.dart"; |
| |
| class Nested { |
| Nested(int val) : a = val {} |
| int a; |
| int foo(int i) { |
| return i; |
| } |
| } |
| |
| class Second { |
| int a = -1; |
| static Nested obj = new Nested(-1); |
| |
| Second(int val) {} |
| |
| void bar(int value) { |
| a = value; |
| Second.obj.a = Second.obj.foo(this.a); |
| this.a = 100; |
| Expect.equals(100, a); |
| } |
| } |
| |
| class Setter2Test { |
| static testMain() { |
| Second obj = new Second(10); |
| Second.obj = new Nested(10); |
| Second.obj.a = 10; |
| Expect.equals(10, Second.obj.a); |
| Expect.equals(10, Second.obj.foo(10)); |
| obj.bar(20); |
| Expect.equals(20, Second.obj.a); |
| } |
| } |
| |
| main() { |
| Setter2Test.testMain(); |
| } |