// 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 invocation of implicit closures. // VMOptions= // VMOptions=--use_slow_path class First { First(this.i) {} var b; int foo() { return i; } Function foo1() { local() { return i; } return local; } int i; } class ImplicitClosureTest { static void testMain() { First obj = new First(20); Function func = () => obj.i; obj.b = func; Expect.equals(20, obj.b()); var ib1 = obj.foo1(); Expect.equals(obj.i, ib1()); var ib = obj.foo; Expect.equals(obj.i, ib()); } } main() { ImplicitClosureTest.testMain(); }