dcdfcc2b8d
This reverts commit1800039c2a. The changesfd2e9b9f1aandc20f9eaf6fare relanded as is. Reason for revert was fixed separately in https://dart-review.googlesource.com/c/sdk/+/341621 TEST=ci CoreLibraryReviewExempt: Implementation change only. Issue: https://github.com/dart-lang/sdk/issues/54172 Issue: https://github.com/dart-lang/sdk/issues/39692 Change-Id: I1a2324768502e5ffbce328127938c0d3c96c38ba Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/341642 Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
// Copyright (c) 2023, 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.
|
|
|
|
// Tests for NativeFunctionPointer.asFunction transformation.
|
|
|
|
import 'dart:ffi';
|
|
|
|
testVoidNoArg() {
|
|
final pointer =
|
|
Pointer<NativeFunction<Void Function()>>.fromAddress(0xdeadbeef);
|
|
final function = pointer.asFunction<void Function()>();
|
|
function();
|
|
}
|
|
|
|
testIntInt() {
|
|
final pointer =
|
|
Pointer<NativeFunction<Int32 Function(Int64)>>.fromAddress(0xdeadbeef);
|
|
final function = pointer.asFunction<int Function(int)>();
|
|
return function(42);
|
|
}
|
|
|
|
testLeaf5Args() {
|
|
final pointer = Pointer<
|
|
NativeFunction<
|
|
Int32 Function(
|
|
Int32, Int32, Int32, Int32, Int32)>>.fromAddress(0xdeadbeef);
|
|
final function =
|
|
pointer.asFunction<int Function(int, int, int, int, int)>(isLeaf: true);
|
|
return function(1, 2, 3, 4, 5);
|
|
}
|
|
|
|
void main() {
|
|
testVoidNoArg();
|
|
testIntInt();
|
|
testLeaf5Args();
|
|
}
|