Files
Alexander Markov 8a2deccc9a [vm,dart2bytecode] Reformat pkg/dart2bytecode and pkg/vm
Reformat these packages after the language version was bumped in
https://dart-review.googlesource.com/c/sdk/+/487942

TEST=ci

Change-Id: I6475e4b3d096b3c1f9aded34a5736989222e1689
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/489400
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2026-03-20 06:35:41 -07:00

41 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();
}