-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMethodCif.h
More file actions
38 lines (29 loc) · 754 Bytes
/
MethodCif.h
File metadata and controls
38 lines (29 loc) · 754 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef METHOD_CIF_H
#define METHOD_CIF_H
#include "MetadataReader.h"
#include "TypeConv.h"
#include "ffi.h"
#include "objc/message.h"
#include "objc/runtime.h"
#include <string>
namespace objc_bridge {
class MethodCif {
public:
ffi_cif cif;
unsigned int argc;
size_t frameLength;
size_t rvalueLength;
bool isVariadic = false;
void *rvalue;
void **avalues;
std::shared_ptr<TypeConv> returnType;
std::vector<std::shared_ptr<TypeConv>> argTypes;
napi_value *argv;
bool shouldFreeAny;
bool *shouldFree;
MethodCif(napi_env env, std::string typeEncoding);
MethodCif(napi_env env, MDMetadataReader *reader, MDSectionOffset offset,
bool isMethod = false);
};
} // namespace objc_bridge
#endif /* METHOD_CIF_H */