blob: 1735d18a1e9a26f103baf24ac56b99da53d327db [file] [log] [blame]
// Copyright (c) 2022, 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.16
import 'dart:ffi';
int doSomething() => 3;
class MyFinalizable implements Finalizable {
int use() {
return doSomething();
}
}
/// Should be transformed into:
///
/// ```
/// int useFinalizableSync(Finalizable finalizable) {
/// final result = doSomething();
/// _reachabilityFence(finalizable);
/// return result;
/// }
/// ```
int useFinalizableSync(Finalizable finalizable) {
return doSomething();
}
/// Should be transformed into:
///
/// ```
/// void main() {
/// final finalizable = MyFinalizable();
/// print(useFinalizableSync(finalizable));
/// _reachabilityFence(finalizable);
/// }
/// ```
void main() {
final finalizable = MyFinalizable();
print(useFinalizableSync(finalizable));
}