1285163Sdim//===------ NullResolver.h - Reject symbol lookup requests ------*- C++ -*-===// 2285163Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6285163Sdim// 7285163Sdim//===----------------------------------------------------------------------===// 8285163Sdim// 9285163Sdim// Defines a RuntimeDyld::SymbolResolver subclass that rejects all symbol 10285163Sdim// resolution requests, for clients that have no cross-object fixups. 11285163Sdim// 12285163Sdim//===----------------------------------------------------------------------===// 13285163Sdim 14285163Sdim#ifndef LLVM_EXECUTIONENGINE_ORC_NULLRESOLVER_H 15285163Sdim#define LLVM_EXECUTIONENGINE_ORC_NULLRESOLVER_H 16285163Sdim 17341825Sdim#include "llvm/ExecutionEngine/Orc/Legacy.h" 18285163Sdim#include "llvm/ExecutionEngine/RuntimeDyld.h" 19285163Sdim 20285163Sdimnamespace llvm { 21285163Sdimnamespace orc { 22285163Sdim 23341825Sdimclass NullResolver : public SymbolResolver { 24341825Sdimpublic: 25344779Sdim SymbolNameSet getResponsibilitySet(const SymbolNameSet &Symbols) final; 26341825Sdim 27341825Sdim SymbolNameSet lookup(std::shared_ptr<AsynchronousSymbolQuery> Query, 28344779Sdim SymbolNameSet Symbols) final; 29341825Sdim}; 30341825Sdim 31285163Sdim/// SymbolResolver impliementation that rejects all resolution requests. 32285163Sdim/// Useful for clients that have no cross-object fixups. 33341825Sdimclass NullLegacyResolver : public LegacyJITSymbolResolver { 34285163Sdimpublic: 35314564Sdim JITSymbol findSymbol(const std::string &Name) final; 36285163Sdim 37314564Sdim JITSymbol findSymbolInLogicalDylib(const std::string &Name) final; 38285163Sdim}; 39285163Sdim 40285163Sdim} // End namespace orc. 41285163Sdim} // End namespace llvm. 42285163Sdim 43285163Sdim#endif // LLVM_EXECUTIONENGINE_ORC_NULLRESOLVER_H 44