mirror of
https://github.com/dart-lang/sdk
synced 2024-11-05 18:22:09 +00:00
d4fa8f783a
R=herhut@google.com BUG= http://dartbug.com/21016 Review URL: https://codereview.chromium.org//598493003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40591 260f80e4-7a28-3924-810f-c04153c831b5
37 lines
681 B
Dart
37 lines
681 B
Dart
// 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.
|
|
|
|
// 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());
|
|
}
|