1// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#ifndef RUNTIME_VM_COMPILER_FFI_RECOGNIZED_METHOD_H_
6#define RUNTIME_VM_COMPILER_FFI_RECOGNIZED_METHOD_H_
7
8#if defined(DART_PRECOMPILED_RUNTIME)
9#error "AOT runtime should not use compiler sources (including header files)"
10#endif // defined(DART_PRECOMPILED_RUNTIME)
11
12#include <platform/globals.h>
13
14#include "vm/compiler/method_recognizer.h"
15
16namespace dart {
17
18namespace compiler {
19
20namespace ffi {
21
22// TypedData class id for a NativeType type, except for Void and NativeFunction.
23classid_t ElementTypedDataCid(classid_t class_id);
24
25// Returns the kFFi<type>Cid for the recognized load/store method [kind].
26classid_t RecognizedMethodTypeArgCid(MethodRecognizer::Kind kind);
27
28} // namespace ffi
29
30} // namespace compiler
31
32} // namespace dart
33
34#endif // RUNTIME_VM_COMPILER_FFI_RECOGNIZED_METHOD_H_
35