class ReexportsGenerator

Declaration

class ReexportsGenerator : public DefinitionGenerator { /* full declaration omitted */ };

Description

ReexportsGenerator can be used with JITDylib::addGenerator to automatically re-export a subset of the source JITDylib's symbols in the target.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1886

Inherits from: DefinitionGenerator

Member Variables

private llvm::orc::JITDylib& SourceJD
private llvm::orc::JITDylibLookupFlags SourceJDLookupFlags
private llvm::orc::ReexportsGenerator::SymbolPredicate Allow

Method Overview

  • public ReexportsGenerator(llvm::orc::JITDylib & SourceJD, llvm::orc::JITDylibLookupFlags SourceJDLookupFlags, llvm::orc::ReexportsGenerator::SymbolPredicate Allow = std::function<bool (llvm::orc::SymbolStringPtr)>())
  • public llvm::Error tryToGenerate(llvm::orc::LookupState & LS, llvm::orc::LookupKind K, llvm::orc::JITDylib & JD, llvm::orc::JITDylibLookupFlags JDLookupFlags, const llvm::orc::SymbolLookupSet & LookupSet)

Inherited from DefinitionGenerator:

Methods

ReexportsGenerator(
    llvm::orc::JITDylib& SourceJD,
    llvm::orc::JITDylibLookupFlags
        SourceJDLookupFlags,
    llvm::orc::ReexportsGenerator::SymbolPredicate
        Allow = std::function<
            bool(llvm::orc::SymbolStringPtr)>())

Description

Create a reexports generator. If an Allow predicate is passed, only symbols for which the predicate returns true will be reexported. If no Allow predicate is passed, all symbols will be exported.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1893

Parameters

llvm::orc::JITDylib& SourceJD
llvm::orc::JITDylibLookupFlags SourceJDLookupFlags
llvm::orc::ReexportsGenerator::SymbolPredicate Allow = std::function<bool (llvm::orc::SymbolStringPtr)>()

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

Description

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.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1897

Parameters

llvm::orc::LookupState& LS
llvm::orc::LookupKind K
llvm::orc::JITDylib& JD
llvm::orc::JITDylibLookupFlags JDLookupFlags
const llvm::orc::SymbolLookupSet& LookupSet