|
CppInterOp
C++ Language Interoperability Layer
|
Namespaces | |
| namespace | detail |
| namespace | Thunks |
Classes | |
| class | Box |
| struct | CurScope__LINE__ |
| struct | InterpreterInfo |
| struct | InterpreterShutdown |
| RAII guard whose dtor calls llvm_shutdown for the owned-interpreter case. More... | |
| struct | Only_CurScope |
| struct | Only_CurScope< clang::Sema > |
| struct | Only_Types |
| struct | Only_Types< ASTContext > |
| class | StreamCaptureInfo |
| struct | Types__LINE__ |
| struct | VTableOverlay |
| struct | VTableOverlayDeleter |
Typedefs | |
| using | UniqueVTableOverlay = std::unique_ptr< VTableOverlay, VTableOverlayDeleter > |
Functions | |
| void *& | VTableOverlayExtraSlot (void *inst, std::size_t i) |
| Address of the i-th extra-prefix slot of an instance with an overlay installed via MakeVTableOverlay(..., n_extra_prefix_slots = N, ...). | |
| UniqueVTableOverlay | MakeUniqueVTableOverlay (void *inst, DeclRef base, std::initializer_list< std::pair< ConstFuncRef, void * > > overrides, std::size_t n_extra_prefix_slots=0, VTableOverlayDtorHook on_destroy=nullptr, void *cleanup_data=nullptr) |
Owning wrapper over MakeVTableOverlay: each pair maps a virtual method of polymorphic class base to its replacement function pointer. | |
| bool | LoadDispatchAPI (const char *customLibPath=nullptr) |
| Initialize all CppInterOp API from the dynamically loaded library. | |
| void | UnloadDispatchAPI () |
| static void | DefaultProcessCrashHandler (void *) |
| static std::deque< InterpreterInfo > & | GetInterpreters (bool SetCrashHandler=true) |
| static void | RegisterInterpreter (compat::Interpreter *I, bool Owned) |
| static InterpreterInfo & | getInterpInfo (compat::Interpreter *I=nullptr) |
| static compat::Interpreter & | getInterp (InterpRef I=nullptr) |
| InterpRef | GetInterpreter () |
| void | UseExternalInterpreter (InterpRef I) |
| bool | ActivateInterpreter (InterpRef I) |
| bool | DeleteInterpreter (InterpRef I) |
| static clang::Sema & | getSema () |
| static clang::ASTContext & | getASTContext () |
| static void | ForceCodeGen (Decl *D, compat::Interpreter &I) |
| void | CppInterOpTraceJitCallInvokeImpl (const JitCall *JC, void *result, void **args, std::size_t nargs, void *self) |
| void | CppInterOpTraceJitCallInvokeDestructorImpl (const JitCall *JC, void *object, unsigned long nary, int withFree) |
| void | CppInterOpTraceJitCallInvokeReturnImpl (const JitCall *JC, void *result) |
| std::string | GetVersion () |
| std::string | GetBuildInfo () |
| std::string | Demangle (const std::string &mangled_name) |
| void | EnableDebugOutput (bool value) |
| bool | IsDebugOutputEnabled () |
| static void | InstantiateFunctionDefinition (Decl *D) |
| bool | IsAggregate (ConstDeclRef DRef) |
| bool | IsNamespace (ConstDeclRef DRef) |
| bool | IsClass (ConstDeclRef DRef) |
| bool | IsFunction (ConstDeclRef DRef) |
| bool | IsFunctionPointerType (ConstTypeRef TyRef) |
| bool | IsClassPolymorphic (ConstDeclRef DRef) |
| static SourceLocation | GetValidSLoc (Sema &semaRef) |
| bool | IsComplete (ConstDeclRef DRef) |
| size_t | SizeOf (ConstDeclRef DRef) |
| bool | IsBuiltin (ConstTypeRef TyRef) |
| bool | IsTemplate (ConstDeclRef DRef) |
| bool | IsTemplateSpecialization (ConstDeclRef DRef) |
| bool | IsTypedefed (ConstDeclRef DRef) |
| bool | IsAbstract (ConstDeclRef DRef) |
| bool | IsEnumScope (ConstDeclRef DRef) |
| bool | IsEnumConstant (ConstDeclRef DRef) |
| bool | IsEnumType (ConstTypeRef TyRef) |
| static bool | isSmartPointer (const RecordType *RT) |
| bool | IsSmartPtrType (ConstTypeRef TyRef) |
| TypeRef | GetIntegerTypeFromEnumScope (ConstDeclRef DRef) |
| TypeRef | GetIntegerTypeFromEnumType (ConstTypeRef enum_type) |
| std::vector< DeclRef > | GetEnumConstants (ConstDeclRef DRef) |
| TypeRef | GetEnumConstantType (ConstDeclRef DRef) |
| size_t | GetEnumConstantValue (ConstDeclRef DRef) |
| size_t | GetSizeOfType (ConstTypeRef TyRef) |
| bool | IsVariable (ConstDeclRef DRef) |
| std::string | GetName (ConstDeclRef DRef) |
| static std::string | GetCompleteNameImpl (ConstDeclRef DRef, bool qualified) |
| std::string | GetCompleteName (ConstDeclRef DRef) |
| std::string | GetQualifiedName (ConstDeclRef DRef) |
| std::string | GetQualifiedCompleteName (ConstDeclRef DRef) |
| std::string | GetDoxygenComment (ConstDeclRef DRef, bool strip_comment_markers) |
| std::vector< DeclRef > | GetUsingNamespaces (ConstDeclRef DRef) |
| DeclRef | GetGlobalScope () |
| static Decl * | GetScopeFromType (QualType QT) |
| DeclRef | GetScopeFromType (ConstTypeRef TyRef) |
| static const clang::Decl * | GetUnderlyingScopeImpl (const clang::Decl *D) |
| DeclRef | GetUnderlyingScope (ConstDeclRef DRef) |
| DeclRef | GetScope (const std::string &name, ConstDeclRef parent) |
| DeclRef | GetScopeFromCompleteName (const std::string &name) |
| DeclRef | GetNamed (const std::string &name, ConstDeclRef parent) |
| DeclRef | GetParentScope (ConstDeclRef DRef) |
| size_t | GetNumBases (ConstDeclRef DRef) |
| DeclRef | GetBaseClass (ConstDeclRef DRef, size_t ibase) |
| bool | IsSubclass (ConstDeclRef derived, ConstDeclRef base) |
| static unsigned | ComputeBaseOffset (const ASTContext &Context, const CXXRecordDecl *DerivedRD, const CXXBasePath &Path) |
| int64_t | GetBaseClassOffset (ConstDeclRef derived, ConstDeclRef base) |
| template<typename DeclType , typename HandleType > | |
| static void | GetClassDecls (ConstDeclRef DRef, std::vector< HandleType > &methods) |
| void | GetClassMethods (ConstDeclRef DRef, std::vector< FuncRef > &methods) |
| void | GetFunctionTemplatedDecls (ConstDeclRef DRef, std::vector< FuncRef > &methods) |
| bool | HasDefaultConstructor (ConstDeclRef DRef) |
| FuncRef | GetDefaultConstructor (compat::Interpreter &interp, DeclRef DRef) |
| FuncRef | GetDefaultConstructor (DeclRef DRef) |
| FuncRef | GetDestructor (ConstDeclRef DRef) |
| void | DumpScope (ConstDeclRef DRef) |
| std::vector< FuncRef > | GetFunctionsUsingName (ConstDeclRef DRef, const std::string &name) |
| TypeRef | GetFunctionReturnType (ConstFuncRef func) |
| bool | IsFunctionProtoType (ConstTypeRef TyRef) |
| void | GetFnTypeSignature (ConstTypeRef fn_type, std::vector< TypeRef > &sig) |
| size_t | GetFunctionNumArgs (ConstFuncRef func) |
| size_t | GetFunctionRequiredArgs (ConstFuncRef func) |
| TypeRef | GetFunctionArgType (ConstFuncRef func, size_t iarg) |
| bool | IsTemplateParmType (ConstTypeRef TyRef) |
| std::string | GetFunctionSignature (ConstFuncRef func) |
| bool | IsFunctionDeleted (ConstFuncRef function) |
| bool | IsTemplatedFunction (ConstFuncRef func) |
| bool | ExistsFunctionTemplate (const std::string &name, ConstDeclRef parent) |
| void | LookupConstructors (const std::string &name, ConstDeclRef parent, std::vector< FuncRef > &funcs) |
| bool | GetClassTemplatedMethods (const std::string &name, ConstDeclRef parent, std::vector< FuncRef > &funcs) |
| FuncRef | BestOverloadFunctionMatch (const std::vector< FuncRef > &candidates, const std::vector< TemplateArgInfo > &explicit_types, const std::vector< TemplateArgInfo > &arg_types) |
| bool | CheckMethodAccess (ConstFuncRef method, AccessSpecifier AS) |
| bool | IsMethod (ConstFuncRef method) |
| bool | IsPublicMethod (ConstFuncRef method) |
| bool | IsProtectedMethod (ConstFuncRef method) |
| bool | IsPrivateMethod (ConstFuncRef method) |
| bool | IsConstructor (ConstFuncRef method) |
| bool | IsDestructor (ConstFuncRef method) |
| bool | IsStaticMethod (ConstFuncRef method) |
| bool | IsExplicit (ConstFuncRef method) |
| void * | GetFunctionAddress (const char *mangled_name) |
| static void * | GetFunctionAddress (const FunctionDecl *FD) |
| void * | GetFunctionAddress (FuncRef method) |
| bool | IsVirtualMethod (ConstFuncRef method) |
| static int | virtualMethodSlot (ConstFuncRef method) |
| static int | vtableMethodSlotCount (ConstDeclRef DRef) |
| static bool | hasComplexVTableLayout (const CXXRecordDecl *RD) |
| void | cppinteropVTableOverlayDtorWrapper (void *self) |
| static VTableOverlay * | applyVTableOverlay (void *inst, int total_method_slots, const int *slots, void *const *fns, std::size_t n, std::size_t n_extra_prefix_slots) |
| VTableOverlay * | MakeVTableOverlay (void *inst, ConstDeclRef base, const ConstFuncRef *methods, void *const *overlay_fns, std::size_t n_overlays, std::size_t n_extra_prefix_slots, VTableOverlayDtorHook on_destroy, void *cleanup_data) |
| void | DestroyVTableOverlay (VTableOverlay *overlay) |
| void | GetDatamembers (DeclRef DRef, std::vector< DeclRef > &datamembers) |
| void | GetStaticDatamembers (ConstDeclRef DRef, std::vector< DeclRef > &datamembers) |
| void | GetEnumConstantDatamembers (ConstDeclRef DRef, std::vector< DeclRef > &datamembers, bool include_enum_class) |
| DeclRef | LookupDatamember (const std::string &name, ConstDeclRef parent) |
| bool | IsLambdaClass (ConstTypeRef TyRef) |
| TypeRef | GetVariableType (ConstDeclRef var) |
| intptr_t | GetVariableOffset (compat::Interpreter &I, Decl *D, CXXRecordDecl *BaseCXXRD) |
| intptr_t | GetVariableOffset (ConstDeclRef var, ConstDeclRef parent) |
| bool | CheckVariableAccess (ConstDeclRef var, AccessSpecifier AS) |
| bool | IsPublicVariable (ConstDeclRef var) |
| bool | IsProtectedVariable (ConstDeclRef var) |
| bool | IsPrivateVariable (ConstDeclRef var) |
| bool | IsStaticVariable (ConstDeclRef var) |
| bool | IsConstVariable (ConstDeclRef var) |
| bool | IsRecordType (ConstTypeRef TyRef) |
| bool | IsPODType (ConstTypeRef TyRef) |
| bool | IsIntegerType (ConstTypeRef TyRef, Signedness *s) |
| bool | IsFloatingType (ConstTypeRef TyRef) |
| bool | IsSameType (ConstTypeRef type_a, ConstTypeRef type_b) |
| bool | IsPointerType (ConstTypeRef TyRef) |
| bool | IsVoidPointerType (ConstTypeRef TyRef) |
| TypeRef | GetPointeeType (ConstTypeRef TyRef) |
| bool | IsReferenceType (ConstTypeRef TyRef) |
| ValueKind | GetValueKind (ConstTypeRef TyRef) |
| TypeRef | GetPointerType (ConstTypeRef TyRef) |
| TypeRef | GetReferencedType (ConstTypeRef TyRef, bool rvalue) |
| TypeRef | GetNonReferenceType (ConstTypeRef TyRef) |
| TypeRef | GetUnderlyingType (ConstTypeRef TyRef) |
| std::string | GetTypeAsString (ConstTypeRef var) |
| TypeRef | GetCanonicalType (ConstTypeRef TyRef) |
| bool | HasTypeQualifier (ConstTypeRef TyRef, QualKind qual) |
| TypeRef | RemoveTypeQualifier (ConstTypeRef TyRef, QualKind qual) |
| TypeRef | AddTypeQualifier (ConstTypeRef TyRef, QualKind qual) |
| static void | RegisterPerms (llvm::StringMap< QualType > &Map, QualType QT, llvm::SmallVectorImpl< llvm::StringRef > &Words) |
| static void | PopulateBuiltinMap (ASTContext &Context) |
| static QualType | findBuiltinType (llvm::StringRef typeName, ASTContext &Context) |
| static std::optional< QualType > | GetTypeInternal (const Decl *D) |
| TypeRef | GetType (const std::string &name, ConstDeclRef parent) |
| TypeRef | GetComplexType (ConstTypeRef TyRef) |
| TypeRef | GetTypeFromScope (ConstDeclRef DRef) |
| JitCall | MakeFunctionCallable (InterpRef I, ConstFuncRef func) |
| JitCall | MakeFunctionCallable (ConstFuncRef func) |
| InterpRef | CreateInterpreter (const std::vector< const char * > &Args, const std::vector< const char * > &GpuArgs) |
| InterpreterLanguage | GetLanguage (InterpRef I) |
| InterpreterLanguageStandard | GetLanguageStandard (InterpRef I) |
| void | AddSearchPath (const char *dir, bool isUser, bool prepend) |
| const char * | GetResourceDir () |
| static bool | exec (const char *cmd, std::vector< std::string > &outputs) |
| std::string | DetectResourceDir (const char *ClangBinaryName) |
| void | DetectSystemCompilerIncludePaths (std::vector< std::string > &Paths, const char *CompilerName) |
| void | AddIncludePath (const char *dir) |
| void | GetIncludePaths (std::vector< std::string > &IncludePaths, bool withSystem, bool withFlags) |
| int | Declare (compat::Interpreter &I, const char *code, bool silent) |
| int | Declare (const char *code, bool silent) |
| int | Process (const char *code) |
| static Cpp::Box::Kind | classifyByQualType (clang::QualType QT) |
| Box | Evaluate (const char *code) |
| std::string | LookupLibrary (const char *lib_name) |
| bool | LoadLibrary (const char *lib_stem, bool lookup) |
| void | UnloadLibrary (const char *lib_stem) |
| std::string | SearchLibrariesForSymbol (const char *mangled_name, bool search_system) |
| bool | InsertOrReplaceJitSymbol (compat::Interpreter &I, const char *linker_mangled_name, uint64_t address) |
| bool | InsertOrReplaceJitSymbol (const char *linker_mangled_name, uint64_t address) |
| std::string | ObjToString (const char *TyRef, void *obj) |
| static Decl * | InstantiateTemplate (TemplateDecl *TemplateD, TemplateArgumentListInfo &TLI, Sema &S, bool instantiate_body) |
| Decl * | InstantiateTemplate (TemplateDecl *TemplateD, ArrayRef< TemplateArgument > TemplateArgs, Sema &S, bool instantiate_body) |
| DeclRef | InstantiateTemplate (compat::Interpreter &I, DeclRef tmpl, const TemplateArgInfo *template_args, size_t template_args_size, bool instantiate_body) |
| DeclRef | InstantiateTemplate (DeclRef tmpl, const TemplateArgInfo *template_args, size_t template_args_size, bool instantiate_body) |
| DeclRef | InstantiateTemplate (DeclRef tmpl, const std::vector< TemplateArgInfo > &template_args, bool instantiate_body) |
| void | GetClassTemplateArgs (ConstDeclRef templ_instance, std::vector< TemplateArgInfo > &args) |
| void | GetClassTemplateInstantiationArgs (ConstDeclRef templ_instance, std::vector< TemplateArgInfo > &args) |
| FuncRef | InstantiateTemplateFunctionFromString (const char *function_template) |
| void | GetAllCppNames (ConstDeclRef DRef, std::set< std::string > &names) |
| void | GetEnums (ConstDeclRef DRef, std::vector< std::string > &Result) |
| std::vector< long int > | GetDimensions (ConstTypeRef TyRef) |
| bool | IsTypeDerivedFrom (ConstTypeRef derived, ConstTypeRef base) |
| std::string | GetFunctionArgDefault (ConstFuncRef func, size_t param_index) |
| bool | IsConstMethod (ConstFuncRef method) |
| std::string | GetFunctionArgName (ConstFuncRef func, size_t param_index) |
| std::string | GetSpellingFromOperator (Operator Operator) |
| Operator | GetOperatorFromSpelling (const std::string &op) |
| OperatorArity | GetOperatorArity (ConstFuncRef op) |
| void | GetOperator (ConstDeclRef DRef, Operator op, std::vector< FuncRef > &operators, OperatorArity kind) |
| ObjectRef | Allocate (DeclRef DRef, size_t count) |
| void | Deallocate (DeclRef DRef, ObjectRef address, size_t count) |
| ObjectRef | Construct (compat::Interpreter &interp, DeclRef DRef, void *arena, size_t count) |
| ObjectRef | Construct (DeclRef DRef, void *arena, size_t count) |
| bool | Destruct (compat::Interpreter &interp, ObjectRef This, const Decl *Class, bool withFree, size_t nary) |
| bool | Destruct (ObjectRef This, DeclRef DRef, bool withFree, size_t count) |
| static std::stack< StreamCaptureInfo > & | GetRedirectionStack () |
| void | BeginStdStreamCapture (CaptureStreamKind fd_kind) |
| std::string | EndStdStreamCapture () |
| void | CodeComplete (std::vector< std::string > &Results, const char *code, unsigned complete_line, unsigned complete_column) |
| int | Undo (unsigned N) |
| intptr_t | Evaluate (const char *code, bool *HadError) |
| void | ResultAbort_ValueOnError (const ErrorRef &) |
| void | ResultAbort_UncheckedOnDtor (const ErrorRef &) |
| template<typename Handle > | |
| Handle | wrap (void *P) |
| template<typename Handle > | |
| Handle | wrap (const void *P) |
| template<typename T > | |
| T * | unwrap (DeclRef H) |
| template<typename T > | |
| T * | unwrap (TypeRef H) |
| template<typename T > | |
| T * | unwrap (FuncRef H) |
| template<typename T > | |
| T * | unwrap (ObjectRef H) |
| template<typename T > | |
| T * | unwrap (InterpRef H) |
| template<typename T > | |
| const T * | unwrap (ConstDeclRef H) |
| template<typename T > | |
| const T * | unwrap (ConstTypeRef H) |
| template<typename T > | |
| const T * | unwrap (ConstFuncRef H) |
Variables | |
| static bool | SkipShutDown = false |
| Set by UseExternalInterpreter to suppress llvm_shutdown at process exit – the client owns LLVM in that case. | |
| constexpr int | kABIPrefixSize = 2 |
| constexpr int | kMinVTableMethodSlots = 2 |
| constexpr int | kDeletingDtorSlot = 1 |
| using Cpp::UniqueVTableOverlay = typedef std::unique_ptr<VTableOverlay, VTableOverlayDeleter> |
Definition at line 69 of file CppInterOp.h.
| bool Cpp::ActivateInterpreter | ( | InterpRef | I | ) |
Definition at line 350 of file CppInterOp.cpp.
References GetInterpreters(), INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::AddIncludePath | ( | const char * | dir | ) |
Definition at line 4646 of file CppInterOp.cpp.
References CppInternal::Interpreter::AddIncludePath(), getInterp(), INTEROP_TRACE, and INTEROP_VOID_RETURN.
| void Cpp::AddSearchPath | ( | const char * | dir, |
| bool | isUser, | ||
| bool | prepend | ||
| ) |
Definition at line 4575 of file CppInterOp.cpp.
References CppInternal::DynamicLibraryManager::addSearchPath(), CppInternal::Interpreter::getDynamicLibraryManager(), getInterp(), INTEROP_TRACE, and INTEROP_VOID_RETURN.
| TypeRef Cpp::AddTypeQualifier | ( | ConstTypeRef | TyRef, |
| QualKind | qual | ||
| ) |
Definition at line 2795 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| ObjectRef Cpp::Allocate | ( | DeclRef | DRef, |
| size_t | count | ||
| ) |
Definition at line 5312 of file CppInterOp.cpp.
References Allocate(), INTEROP_RETURN, INTEROP_TRACE, and SizeOf().
Referenced by Allocate().
|
static |
Definition at line 2223 of file CppInterOp.cpp.
References kABIPrefixSize, kMinVTableMethodSlots, Cpp::detail::kVTableOverlayPrefixSize, and Cpp::VTableOverlay::ReadVPtr().
Referenced by MakeVTableOverlay().
| void Cpp::BeginStdStreamCapture | ( | CaptureStreamKind | fd_kind | ) |
Definition at line 5501 of file CppInterOp.cpp.
References BeginStdStreamCapture(), GetRedirectionStack(), INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by BeginStdStreamCapture().
| FuncRef Cpp::BestOverloadFunctionMatch | ( | const std::vector< FuncRef > & | candidates, |
| const std::vector< TemplateArgInfo > & | explicit_types, | ||
| const std::vector< TemplateArgInfo > & | arg_types | ||
| ) |
Definition at line 1816 of file CppInterOp.cpp.
References getInterp(), getSema(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::CheckMethodAccess | ( | ConstFuncRef | method, |
| AccessSpecifier | AS | ||
| ) |
Definition at line 1902 of file CppInterOp.cpp.
Referenced by IsPrivateMethod(), IsProtectedMethod(), and IsPublicMethod().
| bool Cpp::CheckVariableAccess | ( | ConstDeclRef | var, |
| AccessSpecifier | AS | ||
| ) |
Definition at line 2568 of file CppInterOp.cpp.
Referenced by IsPrivateVariable(), IsProtectedVariable(), and IsPublicVariable().
|
static |
Definition at line 4714 of file CppInterOp.cpp.
References Cpp::Box::K_Bool, Cpp::Box::K_Char_S, Cpp::Box::K_Double, Cpp::Box::K_Float, Cpp::Box::K_Int, Cpp::Box::K_Long, Cpp::Box::K_LongDouble, Cpp::Box::K_LongLong, Cpp::Box::K_PtrOrObj, Cpp::Box::K_SChar, Cpp::Box::K_Short, Cpp::Box::K_UChar, Cpp::Box::K_UInt, Cpp::Box::K_ULong, Cpp::Box::K_ULongLong, and Cpp::Box::K_UShort.
Referenced by Evaluate().
| void Cpp::CodeComplete | ( | std::vector< std::string > & | Results, |
| const char * | code, | ||
| unsigned | complete_line, | ||
| unsigned | complete_column | ||
| ) |
Definition at line 5516 of file CppInterOp.cpp.
References compat::codeComplete(), CodeComplete(), getInterp(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by CodeComplete().
|
static |
Definition at line 1328 of file CppInterOp.cpp.
Referenced by GetBaseClassOffset().
| ObjectRef Cpp::Construct | ( | compat::Interpreter & | interp, |
| DeclRef | DRef, | ||
| void * | arena, | ||
| size_t | count | ||
| ) |
Definition at line 5325 of file CppInterOp.cpp.
References Construct(), GetDefaultConstructor(), HasDefaultConstructor(), IsClass(), IsConstructor(), and MakeFunctionCallable().
Referenced by Construct(), and Construct().
| ObjectRef Cpp::Construct | ( | DeclRef | DRef, |
| void * | arena, | ||
| size_t | count | ||
| ) |
Definition at line 5352 of file CppInterOp.cpp.
References Construct(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::CppInterOpTraceJitCallInvokeDestructorImpl | ( | const JitCall * | JC, |
| void * | object, | ||
| unsigned long | nary, | ||
| int | withFree | ||
| ) |
Definition at line 498 of file CppInterOp.cpp.
References CppInterOp::Tracing::TheTraceInfo.
Referenced by CppInterOp::Tracing::InitTracing().
| void Cpp::CppInterOpTraceJitCallInvokeImpl | ( | const JitCall * | JC, |
| void * | result, | ||
| void ** | args, | ||
| std::size_t | nargs, | ||
| void * | self | ||
| ) |
Definition at line 477 of file CppInterOp.cpp.
References CppInterOp::Tracing::TheTraceInfo.
Referenced by CppInterOp::Tracing::InitTracing().
| void Cpp::CppInterOpTraceJitCallInvokeReturnImpl | ( | const JitCall * | JC, |
| void * | result | ||
| ) |
Definition at line 522 of file CppInterOp.cpp.
References CppInterOp::Tracing::TheTraceInfo.
Referenced by CppInterOp::Tracing::InitTracing().
| void Cpp::cppinteropVTableOverlayDtorWrapper | ( | void * | self | ) |
Definition at line 2194 of file CppInterOp.cpp.
References Cpp::VTableOverlay::cleanup, Cpp::VTableOverlay::cleanup_data, Cpp::VTableOverlay::dtor_fired, Cpp::detail::kVTableOverlayPrefixSize, Cpp::VTableOverlay::orig_dtor, and Cpp::VTableOverlay::ReadVPtr().
Referenced by MakeVTableOverlay().
| InterpRef Cpp::CreateInterpreter | ( | const std::vector< const char * > & | Args, |
| const std::vector< const char * > & | GpuArgs | ||
| ) |
Definition at line 4382 of file CppInterOp.cpp.
References __ci_newtag, __clang_Interpreter_SetValueNoAlloc(), __clang_Interpreter_SetValueWithAlloc(), CppInternal::Interpreter::create(), DetectResourceDir(), GetInterpreters(), GetLanguage(), GetNamed(), INTEROP_RETURN, INTEROP_TRACE, compat::maybeMangleDeclName(), and RegisterInterpreter().
Referenced by LoadDispatchAPI().
| void Cpp::Deallocate | ( | DeclRef | DRef, |
| ObjectRef | address, | ||
| size_t | count | ||
| ) |
Definition at line 5317 of file CppInterOp.cpp.
References Deallocate(), INTEROP_TRACE, INTEROP_VOID_RETURN, and SizeOf().
Referenced by Deallocate().
| int Cpp::Declare | ( | compat::Interpreter & | I, |
| const char * | code, | ||
| bool | silent | ||
| ) |
Definition at line 4678 of file CppInterOp.cpp.
References CppInternal::Interpreter::declare(), and CppInternal::Interpreter::getSema().
Referenced by Declare(), and InstantiateTemplateFunctionFromString().
| int Cpp::Declare | ( | const char * | code, |
| bool | silent | ||
| ) |
Definition at line 4697 of file CppInterOp.cpp.
References Declare(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 273 of file CppInterOp.cpp.
References GetInterpreters(), CppInterOp::Tracing::TheTraceInfo, and CppInterOp::Tracing::TraceInfo::writeToFile().
Referenced by GetInterpreters().
| bool Cpp::DeleteInterpreter | ( | InterpRef | I | ) |
Definition at line 370 of file CppInterOp.cpp.
References GetInterpreters(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::Demangle | ( | const std::string & | mangled_name | ) |
Definition at line 568 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::DestroyVTableOverlay | ( | VTableOverlay * | overlay | ) |
Definition at line 2324 of file CppInterOp.cpp.
References INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by Cpp::VTableOverlayDeleter::operator()().
| bool Cpp::Destruct | ( | compat::Interpreter & | interp, |
| ObjectRef | This, | ||
| const Decl * | Class, | ||
| bool | withFree, | ||
| size_t | nary | ||
| ) |
Definition at line 5358 of file CppInterOp.cpp.
References Destruct().
Referenced by Destruct(), and Destruct().
| bool Cpp::Destruct | ( | ObjectRef | This, |
| DeclRef | DRef, | ||
| bool | withFree, | ||
| size_t | count | ||
| ) |
Definition at line 5368 of file CppInterOp.cpp.
References Destruct(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::DetectResourceDir | ( | const char * | ClangBinaryName | ) |
Definition at line 4616 of file CppInterOp.cpp.
References exec(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by CreateInterpreter().
| void Cpp::DetectSystemCompilerIncludePaths | ( | std::vector< std::string > & | Paths, |
| const char * | CompilerName | ||
| ) |
Definition at line 4634 of file CppInterOp.cpp.
References exec(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| void Cpp::DumpScope | ( | ConstDeclRef | DRef | ) |
Definition at line 1521 of file CppInterOp.cpp.
References INTEROP_TRACE, and INTEROP_VOID_RETURN.
| void Cpp::EnableDebugOutput | ( | bool | value | ) |
Definition at line 583 of file CppInterOp.cpp.
References INTEROP_TRACE, and INTEROP_VOID_RETURN.
| std::string Cpp::EndStdStreamCapture | ( | ) |
Definition at line 5507 of file CppInterOp.cpp.
References EndStdStreamCapture(), Cpp::StreamCaptureInfo::GetCapturedString(), GetRedirectionStack(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by EndStdStreamCapture().
| Box Cpp::Evaluate | ( | const char * | code | ) |
Definition at line 4759 of file CppInterOp.cpp.
References classifyByQualType(), CPP_BOX_BUILTIN_TYPES, CPPINTEROP_MSAN_UNPOISON_VALUE, CppInternal::Interpreter::evaluate(), getInterp(), INTEROP_RETURN, INTEROP_TRACE, Cpp::Box::K_Char_U, Cpp::Box::K_PtrOrObj, Cpp::Box::K_Unspecified, Cpp::Box::K_Void, and compat::MakeValueBox().
Referenced by cppinterop_Evaluate().
| intptr_t Cpp::Evaluate | ( | const char * | code, |
| bool * | HadError | ||
| ) |
Definition at line 35 of file CXCppInterOp.cpp.
References CPPINTEROP_MSAN_UNPOISON_VALUE, and GetInterpreter().
|
static |
Definition at line 4588 of file CppInterOp.cpp.
Referenced by DetectResourceDir(), and DetectSystemCompilerIncludePaths().
| bool Cpp::ExistsFunctionTemplate | ( | const std::string & | name, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 1724 of file CppInterOp.cpp.
References getSema(), INTEROP_RETURN, INTEROP_TRACE, IsTemplatedFunction(), and CppInternal::utils::Lookup::Named().
|
static |
Definition at line 2908 of file CppInterOp.cpp.
References GetInterpreters(), and PopulateBuiltinMap().
Referenced by GetType().
|
static |
Definition at line 396 of file CppInterOp.cpp.
References CppInternal::Interpreter::Execute(), CppInternal::Interpreter::getCI(), CppInternal::Interpreter::getSema(), and CppInternal::Interpreter::Parse().
Referenced by GetFunctionAddress(), and GetVariableOffset().
| void Cpp::GetAllCppNames | ( | ConstDeclRef | DRef, |
| std::set< std::string > & | names | ||
| ) |
Definition at line 5080 of file CppInterOp.cpp.
References GetAllCppNames(), getInterp(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by GetAllCppNames().
|
static |
Definition at line 394 of file CppInterOp.cpp.
References getSema().
Referenced by GetBaseClassOffset(), GetClassTemplatedMethods(), GetComplexType(), GetFunctionAddress(), GetFunctionAddress(), GetFunctionSignature(), GetFunctionsUsingName(), GetGlobalScope(), GetPointerType(), GetReferencedType(), GetType(), GetTypeAsString(), GetTypeInternal(), IsPODType(), IsSameType(), virtualMethodSlot(), and vtableMethodSlotCount().
| DeclRef Cpp::GetBaseClass | ( | ConstDeclRef | DRef, |
| size_t | ibase | ||
| ) |
Definition at line 1288 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetVariableOffset().
| int64_t Cpp::GetBaseClassOffset | ( | ConstDeclRef | derived, |
| ConstDeclRef | base | ||
| ) |
Definition at line 1372 of file CppInterOp.cpp.
References ComputeBaseOffset(), getASTContext(), getSema(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetBuildInfo | ( | ) |
Definition at line 555 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by CppInterOp::Tracing::WriteBuildContext().
| TypeRef Cpp::GetCanonicalType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2751 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 1409 of file CppInterOp.cpp.
References getInterp(), GetScopeFromType(), and getSema().
| void Cpp::GetClassMethods | ( | ConstDeclRef | DRef, |
| std::vector< FuncRef > & | methods | ||
| ) |
Definition at line 1471 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| void Cpp::GetClassTemplateArgs | ( | ConstDeclRef | templ_instance, |
| std::vector< TemplateArgInfo > & | args | ||
| ) |
Definition at line 5025 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| bool Cpp::GetClassTemplatedMethods | ( | const std::string & | name, |
| ConstDeclRef | parent, | ||
| std::vector< FuncRef > & | funcs | ||
| ) |
Definition at line 1765 of file CppInterOp.cpp.
References clang_LookupResult_Found, clang_LookupResult_Found_Overloaded, clang_LookupResult_Not_Found, getASTContext(), getSema(), GetUnderlyingScope(), INTEROP_OUT, INTEROP_RETURN, INTEROP_TRACE, IsTemplatedFunction(), LookupConstructors(), and CppInternal::utils::Lookup::Named().
Referenced by cppinterop_GetClassTemplatedMethods().
| void Cpp::GetClassTemplateInstantiationArgs | ( | ConstDeclRef | templ_instance, |
| std::vector< TemplateArgInfo > & | args | ||
| ) |
Definition at line 5036 of file CppInterOp.cpp.
References INTEROP_OUT, and INTEROP_TRACE.
| std::string Cpp::GetCompleteName | ( | ConstDeclRef | DRef | ) |
Definition at line 960 of file CppInterOp.cpp.
References GetCompleteNameImpl(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 918 of file CppInterOp.cpp.
References getSema().
Referenced by GetCompleteName(), and GetQualifiedCompleteName().
| TypeRef Cpp::GetComplexType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2950 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::GetDatamembers | ( | DeclRef | DRef, |
| std::vector< DeclRef > & | datamembers | ||
| ) |
Definition at line 2330 of file CppInterOp.cpp.
References getSema(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| FuncRef Cpp::GetDefaultConstructor | ( | compat::Interpreter & | interp, |
| DeclRef | DRef | ||
| ) |
Definition at line 1494 of file CppInterOp.cpp.
References CppInternal::Interpreter::getCI(), getInterp(), and HasDefaultConstructor().
Referenced by Construct(), and GetDefaultConstructor().
| FuncRef Cpp::GetDefaultConstructor | ( | DeclRef | DRef | ) |
Definition at line 1503 of file CppInterOp.cpp.
References GetDefaultConstructor(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| FuncRef Cpp::GetDestructor | ( | ConstDeclRef | DRef | ) |
Definition at line 1508 of file CppInterOp.cpp.
References getSema(), INTEROP_RETURN, and INTEROP_TRACE.
| std::vector< long int > Cpp::GetDimensions | ( | ConstTypeRef | TyRef | ) |
Definition at line 5136 of file CppInterOp.cpp.
References GetDimensions(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetDimensions().
| std::string Cpp::GetDoxygenComment | ( | ConstDeclRef | DRef, |
| bool | strip_comment_markers | ||
| ) |
Definition at line 984 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::GetEnumConstantDatamembers | ( | ConstDeclRef | DRef, |
| std::vector< DeclRef > & | datamembers, | ||
| bool | include_enum_class | ||
| ) |
Definition at line 2380 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| std::vector< DeclRef > Cpp::GetEnumConstants | ( | ConstDeclRef | DRef | ) |
Definition at line 847 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| TypeRef Cpp::GetEnumConstantType | ( | ConstDeclRef | DRef | ) |
Definition at line 863 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| size_t Cpp::GetEnumConstantValue | ( | ConstDeclRef | DRef | ) |
Definition at line 875 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::GetEnums | ( | ConstDeclRef | DRef, |
| std::vector< std::string > & | Result | ||
| ) |
Definition at line 5110 of file CppInterOp.cpp.
References GetEnums(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by GetEnums().
| void Cpp::GetFnTypeSignature | ( | ConstTypeRef | fn_type, |
| std::vector< TypeRef > & | sig | ||
| ) |
Definition at line 1601 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| void * Cpp::GetFunctionAddress | ( | const char * | mangled_name | ) |
Definition at line 1984 of file CppInterOp.cpp.
References getInterp(), compat::getSymbolAddress(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetFunctionAddress(), and GetFunctionAddress().
|
static |
Definition at line 1996 of file CppInterOp.cpp.
References getASTContext(), and GetFunctionAddress().
| void * Cpp::GetFunctionAddress | ( | FuncRef | method | ) |
Definition at line 2022 of file CppInterOp.cpp.
References ForceCodeGen(), getASTContext(), GetFunctionAddress(), getInterp(), InstantiateFunctionDefinition(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetFunctionArgDefault | ( | ConstFuncRef | func, |
| size_t | param_index | ||
| ) |
Definition at line 5173 of file CppInterOp.cpp.
References GetFunctionArgDefault(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetFunctionArgDefault().
| std::string Cpp::GetFunctionArgName | ( | ConstFuncRef | func, |
| size_t | param_index | ||
| ) |
Definition at line 5225 of file CppInterOp.cpp.
References GetFunctionArgName(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetFunctionArgName().
| TypeRef Cpp::GetFunctionArgType | ( | ConstFuncRef | func, |
| size_t | iarg | ||
| ) |
Definition at line 1637 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| size_t Cpp::GetFunctionNumArgs | ( | ConstFuncRef | func | ) |
Definition at line 1613 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| size_t Cpp::GetFunctionRequiredArgs | ( | ConstFuncRef | func | ) |
Definition at line 1625 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| TypeRef Cpp::GetFunctionReturnType | ( | ConstFuncRef | func | ) |
Definition at line 1563 of file CppInterOp.cpp.
References InstantiateFunctionDefinition(), INTEROP_RETURN, INTEROP_TRACE, IsTemplatedFunction(), and IsTemplateSpecialization().
| std::string Cpp::GetFunctionSignature | ( | ConstFuncRef | func | ) |
Definition at line 1660 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
| std::vector< FuncRef > Cpp::GetFunctionsUsingName | ( | ConstDeclRef | DRef, |
| const std::string & | name | ||
| ) |
Definition at line 1528 of file CppInterOp.cpp.
References getASTContext(), getSema(), GetUnderlyingScope(), INTEROP_RETURN, INTEROP_TRACE, and CppInternal::utils::Lookup::Named().
| void Cpp::GetFunctionTemplatedDecls | ( | ConstDeclRef | DRef, |
| std::vector< FuncRef > & | methods | ||
| ) |
Definition at line 1477 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| DeclRef Cpp::GetGlobalScope | ( | ) |
Definition at line 1022 of file CppInterOp.cpp.
References getASTContext(), getSema(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetScope().
| void Cpp::GetIncludePaths | ( | std::vector< std::string > & | IncludePaths, |
| bool | withSystem, | ||
| bool | withFlags | ||
| ) |
Definition at line 4652 of file CppInterOp.cpp.
References CppInternal::Interpreter::GetIncludePaths(), getInterp(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| TypeRef Cpp::GetIntegerTypeFromEnumScope | ( | ConstDeclRef | DRef | ) |
Definition at line 825 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| TypeRef Cpp::GetIntegerTypeFromEnumType | ( | ConstTypeRef | enum_type | ) |
Definition at line 835 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 328 of file CppInterOp.cpp.
References getInterpInfo(), and Cpp::InterpreterInfo::Interpreter.
Referenced by AddIncludePath(), AddSearchPath(), BestOverloadFunctionMatch(), CodeComplete(), Construct(), Declare(), Destruct(), Evaluate(), GetAllCppNames(), Cpp::StreamCaptureInfo::GetCapturedString(), GetClassDecls(), GetDefaultConstructor(), GetDefaultConstructor(), GetFunctionAddress(), GetFunctionAddress(), GetFunctionArgDefault(), GetIncludePaths(), GetLanguage(), GetLanguageStandard(), GetNamed(), GetNumBases(), GetOperator(), GetResourceDir(), getSema(), GetVariableOffset(), GetVariableOffset(), InsertOrReplaceJitSymbol(), InstantiateFunctionDefinition(), InstantiateTemplate(), InstantiateTemplate(), InstantiateTemplate(), IsComplete(), IsTypeDerivedFrom(), LoadLibrary(), LookupLibrary(), MakeFunctionCallable(), ObjToString(), Process(), SearchLibrariesForSymbol(), Cpp::StreamCaptureInfo::StreamCaptureInfo(), Undo(), and UnloadLibrary().
|
static |
Definition at line 316 of file CppInterOp.cpp.
References GetInterpreters().
Referenced by getInterp().
| InterpRef Cpp::GetInterpreter | ( | ) |
Definition at line 334 of file CppInterOp.cpp.
References GetInterpreters(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by Evaluate(), and LoadDispatchAPI().
|
static |
Definition at line 237 of file CppInterOp.cpp.
References DefaultProcessCrashHandler(), and CppInterOp::Tracing::InitTracing().
Referenced by ActivateInterpreter(), CreateInterpreter(), DefaultProcessCrashHandler(), DeleteInterpreter(), findBuiltinType(), getInterpInfo(), GetInterpreter(), PopulateBuiltinMap(), RegisterInterpreter(), and UseExternalInterpreter().
| InterpreterLanguage Cpp::GetLanguage | ( | InterpRef | I | ) |
Definition at line 4541 of file CppInterOp.cpp.
References CppInternal::Interpreter::getCI(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by CreateInterpreter().
| InterpreterLanguageStandard Cpp::GetLanguageStandard | ( | InterpRef | I | ) |
Definition at line 4561 of file CppInterOp.cpp.
References CppInternal::Interpreter::getCI(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetName | ( | ConstDeclRef | DRef | ) |
Definition at line 903 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by LookupConstructors().
| DeclRef Cpp::GetNamed | ( | const std::string & | name, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 1212 of file CppInterOp.cpp.
References getInterp(), getSema(), GetUnderlyingScope(), INTEROP_RETURN, INTEROP_TRACE, and CppInternal::utils::Lookup::Named().
Referenced by CreateInterpreter(), GetScope(), GetType(), and InstantiateTemplateFunctionFromString().
| TypeRef Cpp::GetNonReferenceType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2711 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsReferenceType().
| size_t Cpp::GetNumBases | ( | ConstDeclRef | DRef | ) |
Definition at line 1271 of file CppInterOp.cpp.
References getInterp(), compat::InstantiateClassTemplateSpecialization(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetVariableOffset().
| void Cpp::GetOperator | ( | ConstDeclRef | DRef, |
| Operator | op, | ||
| std::vector< FuncRef > & | operators, | ||
| OperatorArity | kind | ||
| ) |
Definition at line 5279 of file CppInterOp.cpp.
References getInterp(), GetOperator(), GetOperatorArity(), getSema(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by GetOperator().
| OperatorArity Cpp::GetOperatorArity | ( | ConstFuncRef | op | ) |
Definition at line 5255 of file CppInterOp.cpp.
References GetOperatorArity(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetOperator(), and GetOperatorArity().
| Operator Cpp::GetOperatorFromSpelling | ( | const std::string & | op | ) |
Definition at line 5245 of file CppInterOp.cpp.
References GetOperatorFromSpelling(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetOperatorFromSpelling().
| DeclRef Cpp::GetParentScope | ( | ConstDeclRef | DRef | ) |
Definition at line 1248 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| TypeRef Cpp::GetPointeeType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2671 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsPointerType().
| TypeRef Cpp::GetPointerType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2695 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetQualifiedCompleteName | ( | ConstDeclRef | DRef | ) |
Definition at line 979 of file CppInterOp.cpp.
References GetCompleteNameImpl(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetQualifiedName | ( | ConstDeclRef | DRef | ) |
Definition at line 965 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 5496 of file CppInterOp.cpp.
References GetRedirectionStack().
Referenced by BeginStdStreamCapture(), EndStdStreamCapture(), and GetRedirectionStack().
| TypeRef Cpp::GetReferencedType | ( | ConstTypeRef | TyRef, |
| bool | rvalue | ||
| ) |
Definition at line 2701 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
| const char * Cpp::GetResourceDir | ( | ) |
Definition at line 4581 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| DeclRef Cpp::GetScope | ( | const std::string & | name, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 1070 of file CppInterOp.cpp.
References GetGlobalScope(), GetNamed(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetScopeFromCompleteName().
| DeclRef Cpp::GetScopeFromCompleteName | ( | const std::string & | name | ) |
Definition at line 1092 of file CppInterOp.cpp.
References GetScope(), INTEROP_RETURN, and INTEROP_TRACE.
| DeclRef Cpp::GetScopeFromType | ( | ConstTypeRef | TyRef | ) |
Definition at line 1041 of file CppInterOp.cpp.
References GetScopeFromType(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 1028 of file CppInterOp.cpp.
Referenced by GetClassDecls(), GetScopeFromType(), GetUnderlyingScopeImpl(), and InstantiateTemplate().
|
static |
Definition at line 393 of file CppInterOp.cpp.
References CppInternal::Interpreter::getCI(), and getInterp().
Referenced by BestOverloadFunctionMatch(), ExistsFunctionTemplate(), getASTContext(), GetBaseClassOffset(), GetClassDecls(), GetClassTemplatedMethods(), GetCompleteNameImpl(), GetDatamembers(), GetDestructor(), GetFunctionsUsingName(), GetGlobalScope(), GetNamed(), GetOperator(), GetSizeOfType(), GetVariableOffset(), InstantiateFunctionDefinition(), IsComplete(), IsTypeDerivedFrom(), LookupConstructors(), and LookupDatamember().
| size_t Cpp::GetSizeOfType | ( | ConstTypeRef | TyRef | ) |
Definition at line 885 of file CppInterOp.cpp.
References getSema(), INTEROP_RETURN, INTEROP_TRACE, and SizeOf().
| std::string Cpp::GetSpellingFromOperator | ( | Operator | Operator | ) |
Definition at line 5239 of file CppInterOp.cpp.
References GetSpellingFromOperator(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetSpellingFromOperator().
| void Cpp::GetStaticDatamembers | ( | ConstDeclRef | DRef, |
| std::vector< DeclRef > & | datamembers | ||
| ) |
Definition at line 2373 of file CppInterOp.cpp.
References INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
| TypeRef Cpp::GetType | ( | const std::string & | name, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 2941 of file CppInterOp.cpp.
References findBuiltinType(), getASTContext(), GetNamed(), GetTypeFromScope(), INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetTypeAsString | ( | ConstTypeRef | var | ) |
Definition at line 2740 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by IsSmartPtrType().
| TypeRef Cpp::GetTypeFromScope | ( | ConstDeclRef | DRef | ) |
Definition at line 2957 of file CppInterOp.cpp.
References GetTypeInternal(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetType(), IsComplete(), and IsSubclass().
|
static |
Definition at line 2920 of file CppInterOp.cpp.
References getASTContext().
Referenced by GetTypeFromScope().
| DeclRef Cpp::GetUnderlyingScope | ( | ConstDeclRef | DRef | ) |
Definition at line 1059 of file CppInterOp.cpp.
References GetUnderlyingScopeImpl(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetClassTemplatedMethods(), GetFunctionsUsingName(), and GetNamed().
|
static |
Definition at line 1047 of file CppInterOp.cpp.
References GetScopeFromType().
Referenced by GetUnderlyingScope().
| TypeRef Cpp::GetUnderlyingType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2719 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| std::vector< DeclRef > Cpp::GetUsingNamespaces | ( | ConstDeclRef | DRef | ) |
Definition at line 1007 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 659 of file CppInterOp.cpp.
Referenced by InstantiateTemplate(), IsComplete(), and IsTypeDerivedFrom().
| ValueKind Cpp::GetValueKind | ( | ConstTypeRef | TyRef | ) |
Definition at line 2685 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| intptr_t Cpp::GetVariableOffset | ( | compat::Interpreter & | I, |
| Decl * | D, | ||
| CXXRecordDecl * | BaseCXXRD | ||
| ) |
Definition at line 2449 of file CppInterOp.cpp.
References ForceCodeGen(), CppInternal::Interpreter::getAddressOfGlobal(), GetBaseClass(), getInterp(), GetNumBases(), getSema(), CppInternal::Interpreter::getSema(), compat::getSymbolAddress(), and compat::maybeMangleDeclName().
Referenced by GetVariableOffset().
| intptr_t Cpp::GetVariableOffset | ( | ConstDeclRef | var, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 2558 of file CppInterOp.cpp.
References getInterp(), GetVariableOffset(), INTEROP_RETURN, and INTEROP_TRACE.
| TypeRef Cpp::GetVariableType | ( | ConstDeclRef | var | ) |
Definition at line 2426 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| std::string Cpp::GetVersion | ( | ) |
Definition at line 540 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by CppInterOp::Tracing::GetCppInterOpLibPath(), CppInterOp::Tracing::TraceInfo::StopRegion(), and CppInterOp::Tracing::TraceInfo::writeToFile().
|
static |
Definition at line 2097 of file CppInterOp.cpp.
Referenced by MakeVTableOverlay().
| bool Cpp::HasDefaultConstructor | ( | ConstDeclRef | DRef | ) |
Definition at line 1484 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by Construct(), and GetDefaultConstructor().
| bool Cpp::HasTypeQualifier | ( | ConstTypeRef | TyRef, |
| QualKind | qual | ||
| ) |
Definition at line 2759 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::InsertOrReplaceJitSymbol | ( | compat::Interpreter & | I, |
| const char * | linker_mangled_name, | ||
| uint64_t | address | ||
| ) |
Definition at line 4816 of file CppInterOp.cpp.
References compat::getExecutionEngine(), and compat::getSymbolAddress().
Referenced by InsertOrReplaceJitSymbol().
| bool Cpp::InsertOrReplaceJitSymbol | ( | const char * | linker_mangled_name, |
| uint64_t | address | ||
| ) |
Definition at line 4895 of file CppInterOp.cpp.
References getInterp(), InsertOrReplaceJitSymbol(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 594 of file CppInterOp.cpp.
References getInterp(), and getSema().
Referenced by GetFunctionAddress(), GetFunctionReturnType(), and InstantiateTemplate().
| DeclRef Cpp::InstantiateTemplate | ( | compat::Interpreter & | I, |
| DeclRef | tmpl, | ||
| const TemplateArgInfo * | template_args, | ||
| size_t | template_args_size, | ||
| bool | instantiate_body | ||
| ) |
Definition at line 4980 of file CppInterOp.cpp.
References getInterp(), CppInternal::Interpreter::getSema(), and InstantiateTemplate().
| DeclRef Cpp::InstantiateTemplate | ( | DeclRef | tmpl, |
| const std::vector< TemplateArgInfo > & | template_args, | ||
| bool | instantiate_body | ||
| ) |
Definition at line 5014 of file CppInterOp.cpp.
References getInterp(), InstantiateTemplate(), INTEROP_RETURN, and INTEROP_TRACE.
| DeclRef Cpp::InstantiateTemplate | ( | DeclRef | tmpl, |
| const TemplateArgInfo * | template_args, | ||
| size_t | template_args_size, | ||
| bool | instantiate_body | ||
| ) |
Definition at line 5007 of file CppInterOp.cpp.
References getInterp(), InstantiateTemplate(), INTEROP_RETURN, and INTEROP_TRACE.
| Decl * Cpp::InstantiateTemplate | ( | TemplateDecl * | TemplateD, |
| ArrayRef< TemplateArgument > | TemplateArgs, | ||
| Sema & | S, | ||
| bool | instantiate_body | ||
| ) |
Definition at line 4968 of file CppInterOp.cpp.
References InstantiateTemplate().
|
static |
Definition at line 4907 of file CppInterOp.cpp.
References GetScopeFromType(), GetValidSLoc(), and InstantiateFunctionDefinition().
Referenced by InstantiateTemplate(), InstantiateTemplate(), InstantiateTemplate(), and InstantiateTemplate().
| FuncRef Cpp::InstantiateTemplateFunctionFromString | ( | const char * | function_template | ) |
Definition at line 5062 of file CppInterOp.cpp.
References Declare(), GetNamed(), InstantiateTemplateFunctionFromString(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by InstantiateTemplateFunctionFromString().
| bool Cpp::IsAbstract | ( | ConstDeclRef | DRef | ) |
Definition at line 740 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsAggregate | ( | ConstDeclRef | DRef | ) |
Definition at line 610 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsBuiltin | ( | ConstTypeRef | TyRef | ) |
Definition at line 704 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsClass | ( | ConstDeclRef | DRef | ) |
Definition at line 632 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by Construct().
| bool Cpp::IsClassPolymorphic | ( | ConstDeclRef | DRef | ) |
Definition at line 650 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsComplete | ( | ConstDeclRef | DRef | ) |
Definition at line 665 of file CppInterOp.cpp.
References getInterp(), getSema(), GetTypeFromScope(), GetValidSLoc(), INTEROP_RETURN, and INTEROP_TRACE.
Referenced by SizeOf().
| bool Cpp::IsConstMethod | ( | ConstFuncRef | method | ) |
Definition at line 5213 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsConstMethod().
Referenced by IsConstMethod().
| bool Cpp::IsConstructor | ( | ConstFuncRef | method | ) |
Definition at line 1935 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsConstructor().
Referenced by Construct(), and IsConstructor().
| bool Cpp::IsConstVariable | ( | ConstDeclRef | var | ) |
Definition at line 2599 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsDebugOutputEnabled | ( | ) |
Definition at line 589 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsDestructor | ( | ConstFuncRef | method | ) |
Definition at line 1943 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsEnumConstant | ( | ConstDeclRef | DRef | ) |
Definition at line 755 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsEnumScope | ( | ConstDeclRef | DRef | ) |
Definition at line 749 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsEnumType | ( | ConstTypeRef | TyRef | ) |
Definition at line 761 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsExplicit | ( | ConstFuncRef | method | ) |
Definition at line 1962 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsFloatingType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2640 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsFunction | ( | ConstDeclRef | DRef | ) |
Definition at line 638 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsFunctionDeleted | ( | ConstFuncRef | function | ) |
Definition at line 1708 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsFunctionPointerType | ( | ConstTypeRef | TyRef | ) |
Definition at line 644 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsFunctionProtoType | ( | ConstTypeRef | TyRef | ) |
Definition at line 1594 of file CppInterOp.cpp.
References INTEROP_TRACE.
| bool Cpp::IsIntegerType | ( | ConstTypeRef | TyRef, |
| Signedness * | s | ||
| ) |
Definition at line 2626 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsLambdaClass | ( | ConstTypeRef | TyRef | ) |
Definition at line 2417 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsMethod | ( | ConstFuncRef | method | ) |
Definition at line 1911 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsNamespace | ( | ConstDeclRef | DRef | ) |
Definition at line 626 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsPODType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2616 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsPointerType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2657 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetPointeeType().
| bool Cpp::IsPrivateMethod | ( | ConstFuncRef | method | ) |
Definition at line 1930 of file CppInterOp.cpp.
References CheckMethodAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsPrivateVariable | ( | ConstDeclRef | var | ) |
Definition at line 2584 of file CppInterOp.cpp.
References CheckVariableAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsProtectedMethod | ( | ConstFuncRef | method | ) |
Definition at line 1924 of file CppInterOp.cpp.
References CheckMethodAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsProtectedVariable | ( | ConstDeclRef | var | ) |
Definition at line 2578 of file CppInterOp.cpp.
References CheckVariableAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsPublicMethod | ( | ConstFuncRef | method | ) |
Definition at line 1919 of file CppInterOp.cpp.
References CheckMethodAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsPublicVariable | ( | ConstDeclRef | var | ) |
Definition at line 2573 of file CppInterOp.cpp.
References CheckVariableAccess(), INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsRecordType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2610 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsReferenceType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2679 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetNonReferenceType().
| bool Cpp::IsSameType | ( | ConstTypeRef | type_a, |
| ConstTypeRef | type_b | ||
| ) |
Definition at line 2648 of file CppInterOp.cpp.
References getASTContext(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 767 of file CppInterOp.cpp.
Referenced by IsSmartPtrType().
| bool Cpp::IsSmartPtrType | ( | ConstTypeRef | TyRef | ) |
Definition at line 809 of file CppInterOp.cpp.
References GetTypeAsString(), INTEROP_RETURN, INTEROP_TRACE, and isSmartPointer().
| bool Cpp::IsStaticMethod | ( | ConstFuncRef | method | ) |
Definition at line 1949 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsStaticVariable | ( | ConstDeclRef | var | ) |
Definition at line 2589 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsSubclass | ( | ConstDeclRef | derived, |
| ConstDeclRef | base | ||
| ) |
Definition at line 1304 of file CppInterOp.cpp.
References GetTypeFromScope(), INTEROP_RETURN, INTEROP_TRACE, and IsTypeDerivedFrom().
| bool Cpp::IsTemplate | ( | ConstDeclRef | DRef | ) |
Definition at line 721 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsTemplatedFunction | ( | ConstFuncRef | func | ) |
Definition at line 1714 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsTemplatedFunction().
Referenced by ExistsFunctionTemplate(), GetClassTemplatedMethods(), GetFunctionReturnType(), and IsTemplatedFunction().
| bool Cpp::IsTemplateParmType | ( | ConstTypeRef | TyRef | ) |
Definition at line 1654 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsTemplateSpecialization | ( | ConstDeclRef | DRef | ) |
Definition at line 727 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by GetFunctionReturnType().
| bool Cpp::IsTypedefed | ( | ConstDeclRef | DRef | ) |
Definition at line 734 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsTypeDerivedFrom | ( | ConstTypeRef | derived, |
| ConstTypeRef | base | ||
| ) |
Definition at line 5162 of file CppInterOp.cpp.
References getInterp(), getSema(), GetValidSLoc(), INTEROP_RETURN, INTEROP_TRACE, and IsTypeDerivedFrom().
Referenced by IsSubclass(), and IsTypeDerivedFrom().
| bool Cpp::IsVariable | ( | ConstDeclRef | DRef | ) |
Definition at line 897 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsVirtualMethod | ( | ConstFuncRef | method | ) |
Definition at line 2038 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| bool Cpp::IsVoidPointerType | ( | ConstTypeRef | TyRef | ) |
Definition at line 2663 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
|
inline |
Initialize all CppInterOp API from the dynamically loaded library.
Definition at line 129 of file Dispatch.h.
References CreateInterpreter(), dlGetProcAddress(), and GetInterpreter().
| bool Cpp::LoadLibrary | ( | const char * | lib_stem, |
| bool | lookup | ||
| ) |
Definition at line 4794 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, INTEROP_TRACE, CppInternal::Interpreter::kSuccess, and CppInternal::Interpreter::loadLibrary().
| void Cpp::LookupConstructors | ( | const std::string & | name, |
| ConstDeclRef | parent, | ||
| std::vector< FuncRef > & | funcs | ||
| ) |
Definition at line 1746 of file CppInterOp.cpp.
References GetName(), getSema(), INTEROP_OUT, INTEROP_TRACE, and INTEROP_VOID_RETURN.
Referenced by GetClassTemplatedMethods().
| DeclRef Cpp::LookupDatamember | ( | const std::string & | name, |
| ConstDeclRef | parent | ||
| ) |
Definition at line 2399 of file CppInterOp.cpp.
References getSema(), INTEROP_RETURN, INTEROP_TRACE, and CppInternal::utils::Lookup::Named().
| std::string Cpp::LookupLibrary | ( | const char * | lib_name | ) |
Definition at line 4788 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| JitCall Cpp::MakeFunctionCallable | ( | ConstFuncRef | func | ) |
Definition at line 4293 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, INTEROP_TRACE, and MakeFunctionCallable().
| JitCall Cpp::MakeFunctionCallable | ( | InterpRef | I, |
| ConstFuncRef | func | ||
| ) |
Definition at line 4260 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
Referenced by Construct(), and MakeFunctionCallable().
|
inline |
Owning wrapper over MakeVTableOverlay: each pair maps a virtual method of polymorphic class base to its replacement function pointer.
The overlay is installed on construction and the original vptr restored when the handle is destroyed. The caller works in reflected methods, not ABI-specific slot indices – the common path for language bindings. n_extra_prefix_slots reserves nullptr-initialized slots immediately before the ABI prefix for the caller to write per-instance data into. on_destroy, when non-null, is invoked once after the C++ destructor of inst runs (operator-delete path). It receives the original inst pointer (which may be dangling at that point – do not deref) and cleanup_data verbatim; bindings use it to release any per-instance state (Python handles, closures) tied to the object's lifetime. The callback must not throw: it runs inside a C++ destructor, so an escaping exception is undefined behavior.
Definition at line 86 of file CppInterOp.h.
References MakeVTableOverlay().
| VTableOverlay * Cpp::MakeVTableOverlay | ( | void * | inst, |
| ConstDeclRef | base, | ||
| const ConstFuncRef * | methods, | ||
| void *const * | overlay_fns, | ||
| std::size_t | n_overlays, | ||
| std::size_t | n_extra_prefix_slots, | ||
| VTableOverlayDtorHook | on_destroy, | ||
| void * | cleanup_data | ||
| ) |
Definition at line 2270 of file CppInterOp.cpp.
References applyVTableOverlay(), cppinteropVTableOverlayDtorWrapper(), hasComplexVTableLayout(), INTEROP_RETURN, INTEROP_TRACE, kDeletingDtorSlot, kMinVTableMethodSlots, virtualMethodSlot(), and vtableMethodSlotCount().
Referenced by MakeUniqueVTableOverlay().
| std::string Cpp::ObjToString | ( | const char * | TyRef, |
| void * | obj | ||
| ) |
Definition at line 4902 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 2831 of file CppInterOp.cpp.
References ACCESS, GetInterpreters(), and RegisterPerms().
Referenced by findBuiltinType().
| int Cpp::Process | ( | const char * | code | ) |
Definition at line 4702 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
|
static |
Definition at line 311 of file CppInterOp.cpp.
References GetInterpreters().
Referenced by CreateInterpreter(), and UseExternalInterpreter().
|
static |
Definition at line 2817 of file CppInterOp.cpp.
Referenced by PopulateBuiltinMap().
| TypeRef Cpp::RemoveTypeQualifier | ( | ConstTypeRef | TyRef, |
| QualKind | qual | ||
| ) |
Definition at line 2780 of file CppInterOp.cpp.
References INTEROP_RETURN, and INTEROP_TRACE.
| void Cpp::ResultAbort_UncheckedOnDtor | ( | const ErrorRef & | ) |
Definition at line 38 of file ErrorInternal.cpp.
| void Cpp::ResultAbort_ValueOnError | ( | const ErrorRef & | ) |
Definition at line 28 of file ErrorInternal.cpp.
| std::string Cpp::SearchLibrariesForSymbol | ( | const char * | mangled_name, |
| bool | search_system | ||
| ) |
Definition at line 4808 of file CppInterOp.cpp.
References CppInternal::Interpreter::getDynamicLibraryManager(), getInterp(), INTEROP_RETURN, and INTEROP_TRACE.
| size_t Cpp::SizeOf | ( | ConstDeclRef | DRef | ) |
Definition at line 689 of file CppInterOp.cpp.
References INTEROP_RETURN, INTEROP_TRACE, and IsComplete().
Referenced by Allocate(), Deallocate(), and GetSizeOfType().
| int Cpp::Undo | ( | unsigned | N | ) |
Definition at line 5525 of file CppInterOp.cpp.
References getInterp(), INTEROP_RETURN, INTEROP_TRACE, and CppInternal::Interpreter::kSuccess.
|
inline |
Definition at line 158 of file Dispatch.h.
References dlGetProcAddress().
| void Cpp::UnloadLibrary | ( | const char * | lib_stem | ) |
Definition at line 4802 of file CppInterOp.cpp.
References CppInternal::Interpreter::getDynamicLibraryManager(), getInterp(), INTEROP_TRACE, INTEROP_VOID_RETURN, and CppInternal::DynamicLibraryManager::unloadLibrary().
| const T * Cpp::unwrap | ( | ConstDeclRef | H | ) |
| const T * Cpp::unwrap | ( | ConstFuncRef | H | ) |
| const T * Cpp::unwrap | ( | ConstTypeRef | H | ) |
| void Cpp::UseExternalInterpreter | ( | InterpRef | I | ) |
Definition at line 342 of file CppInterOp.cpp.
References GetInterpreters(), INTEROP_TRACE, INTEROP_VOID_RETURN, RegisterInterpreter(), and SkipShutDown.
|
static |
Definition at line 2052 of file CppInterOp.cpp.
References getASTContext().
Referenced by MakeVTableOverlay().
|
static |
Definition at line 2069 of file CppInterOp.cpp.
References getASTContext().
Referenced by MakeVTableOverlay().
|
inline |
Address of the i-th extra-prefix slot of an instance with an overlay installed via MakeVTableOverlay(..., n_extra_prefix_slots = N, ...).
Returns a void*& so callers read and write through the same expression; this is the canonical access path – bindings should not synthesize the vptr arithmetic themselves. Behavior is undefined if inst has no overlay or i >= N.
Definition at line 61 of file CppInterOp.h.
References Cpp::detail::kVTableOverlayPrefixSize.
| Handle Cpp::wrap | ( | const void * | P | ) |
|
constexpr |
Definition at line 2118 of file CppInterOp.cpp.
Referenced by applyVTableOverlay().
|
constexpr |
Definition at line 2266 of file CppInterOp.cpp.
Referenced by MakeVTableOverlay().
|
constexpr |
Definition at line 2214 of file CppInterOp.cpp.
Referenced by applyVTableOverlay(), and MakeVTableOverlay().
|
static |
Set by UseExternalInterpreter to suppress llvm_shutdown at process exit – the client owns LLVM in that case.
Definition at line 214 of file CppInterOp.cpp.
Referenced by UseExternalInterpreter(), and Cpp::InterpreterShutdown::~InterpreterShutdown().