|
CppInterOp
C++ Language Interoperability Layer
|
#include "CppInterOp/CXCppInterOp.h"#include "Unwrap.h"#include "CppInterOp/CppInterOp.h"#include "Compatibility.h"#include <cstdlib>#include <cstring>#include <vector>
Go to the source code of this file.
Namespaces | |
| namespace | Cpp |
Macros | |
| #define | CPPINTEROP_MSAN_UNPOISON_VALUE(v) ((void)0) |
Functions | |
| intptr_t | Cpp::Evaluate (const char *code, bool *HadError) |
| intptr_t | cppinterop_Evaluate (const char *code, bool *HadError) |
| C-ABI overload of Cpp::Evaluate. | |
| Cpp::CppInterOpArray | cppinterop_GetClassTemplatedMethods (const char *name, CppConstDeclRef parent) |
Returns the templated method scopes inside parent matching name. | |
| #define CPPINTEROP_MSAN_UNPOISON_VALUE | ( | v | ) | ((void)0) |
Definition at line 26 of file CXCppInterOp.cpp.
| intptr_t cppinterop_Evaluate | ( | const char * | code, |
| bool * | HadError | ||
| ) |
C-ABI overload of Cpp::Evaluate.
Returns the execution result as a raw intptr_t bit pattern; on parse error or no-value-after- success writes true to *HadError (if non-null) and returns ~0UL. The Box-returning C++ overload is marked NoCWrapper.
Definition at line 60 of file CXCppInterOp.cpp.
References Cpp::Evaluate().
| Cpp::CppInterOpArray cppinterop_GetClassTemplatedMethods | ( | const char * | name, |
| CppConstDeclRef | parent | ||
| ) |
Returns the templated method scopes inside parent matching name.
The bool-return-with-vector-outparam shape is not expressible by the tablegen wrapper emitter; callers check arr.size > 0 to detect "no matches".
Definition at line 67 of file CXCppInterOp.cpp.
References Cpp::GetClassTemplatedMethods().