// 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(); }