LLVM 22.0.0git
llvm::orc::DefinitionGenerator Class Referenceabstract

Definition generators can be attached to JITDylibs to generate new definitions for otherwise unresolved symbols during lookup. More...

#include "llvm/ExecutionEngine/Orc/Core.h"

Inheritance diagram for llvm::orc::DefinitionGenerator:
[legend]

Public Member Functions

virtual ~DefinitionGenerator ()
virtual Error tryToGenerate (LookupState &LS, LookupKind K, JITDylib &JD, JITDylibLookupFlags JDLookupFlags, const SymbolLookupSet &LookupSet)=0
 DefinitionGenerators should override this method to insert new definitions into the parent JITDylib.

Friends

class ExecutionSession

Detailed Description

Definition generators can be attached to JITDylibs to generate new definitions for otherwise unresolved symbols during lookup.

Definition at line 859 of file Core.h.

Constructor & Destructor Documentation

◆ ~DefinitionGenerator()

llvm::orc::DefinitionGenerator::~DefinitionGenerator ( )
virtual

Definition at line 638 of file Core.cpp.

References llvm::inconvertibleErrorCode(), llvm::make_error(), and std::swap().

Member Function Documentation

◆ tryToGenerate()

virtual Error llvm::orc::DefinitionGenerator::tryToGenerate ( LookupState & LS,
LookupKind K,
JITDylib & JD,
JITDylibLookupFlags JDLookupFlags,
const SymbolLookupSet & LookupSet )
pure virtual

DefinitionGenerators should override this method to insert new definitions into the parent JITDylib.

K specifies the kind of this lookup. JD specifies the target JITDylib being searched, and JDLookupFlags specifies whether the search should match against hidden symbols. Finally, Symbols describes the set of unresolved symbols and their associated lookup flags.

Implemented in llvm::orc::CAPIDefinitionGenerator, llvm::orc::DLLImportDefinitionGenerator, llvm::orc::DynamicLibrarySearchGenerator, llvm::orc::EPCDynamicLibrarySearchGenerator, llvm::orc::ReexportsGenerator, and llvm::orc::StaticLibraryDefinitionGenerator.

◆ ExecutionSession


The documentation for this class was generated from the following files: