// Copyright (c) 2013, 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"; typedef void VoidToVoid(); var b; VoidToVoid a = () { b = 42; }; var c = [new C()]; class C { nonInlinable1() { a(); } nonInlinable2() { var a = () { b = 42; }; a(); } } testClosureInStaticField() { var temp = c[0]; Expect.isNull(b); temp.nonInlinable1(); Expect.equals(42, b); b = null; } testLocalClosure() { var temp = c[0]; Expect.isNull(b); temp.nonInlinable2(); Expect.equals(42, b); } main() { testClosureInStaticField(); testLocalClosure(); }