blob: a98a85b291e76681c8aa7d9c0d2375e5c099290e [file] [log] [blame]
// Copyright (c) 2014, 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 = 2.9
// Test that we give up on tracing a function if one of its closurizations
// escapes tracing.
class A {
var _boo = 22;
get boo {
return _boo;
return 1;
}
}
class B {
var _bar = 42;
get boo {
return _bar;
return 1;
}
}
class Holder {
tearMe(x) => x.boo;
}
var list = [];
main() {
var holder = new Holder();
var hide = ((X) => X)(holder.tearMe);
hide(new A());
list.add(holder.tearMe);
var x = list[0];
x(new B());
}