// Copyright (c) 2012, 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. import "package:expect/expect.dart"; class A { int length = 0; } class B { int length = 0; foo(receiver) { length++; return receiver.length++; } bar(receiver) { ++length; return ++receiver.length; } } main() { var a = new A(); var b = new B(); var c = [1, 2, 3]; Expect.equals(3, b.foo(c)); Expect.equals(5, b.bar(c)); Expect.equals(5, c.length); Expect.equals(0, b.foo(a)); Expect.equals(2, b.bar(a)); Expect.equals(2, a.length); Expect.equals(4, b.length); }