CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
CXCppInterOp.cpp File Reference
#include "CppInterOp/CXCppInterOp.h"
#include "Unwrap.h"
#include "CppInterOp/CppInterOp.h"
#include "Compatibility.h"
#include <cstdlib>
#include <cstring>
#include <vector>
Include dependency graph for CXCppInterOp.cpp:

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.
 

Macro Definition Documentation

◆ CPPINTEROP_MSAN_UNPOISON_VALUE

#define CPPINTEROP_MSAN_UNPOISON_VALUE (   v)    ((void)0)

Definition at line 26 of file CXCppInterOp.cpp.

Function Documentation

◆ cppinterop_Evaluate()

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().

◆ cppinterop_GetClassTemplatedMethods()

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().