LLVM
24.0.0git
lib
Object
SymbolicFile.cpp
Go to the documentation of this file.
1
//===- SymbolicFile.cpp - Interface that only provides symbols ------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines a file format independent SymbolicFile class.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#include "
llvm/Object/SymbolicFile.h
"
14
15
using namespace
llvm
;
16
using namespace
object
;
17
18
SymbolicFile::SymbolicFile
(
unsigned
int
Type
,
MemoryBufferRef
Source)
19
:
Binary
(
Type
, Source) {}
20
21
SymbolicFile::~SymbolicFile
() =
default
;
22
23
bool
SymbolicFile::isSymbolicFile
(
file_magic
Type
,
const
LLVMContext
*Context) {
24
switch
(
Type
) {
25
case
file_magic::bitcode
:
26
return
Context !=
nullptr
;
27
case
file_magic::elf
:
28
case
file_magic::elf_executable
:
29
case
file_magic::elf_shared_object
:
30
case
file_magic::elf_core
:
31
case
file_magic::goff_object
:
32
case
file_magic::macho_executable
:
33
case
file_magic::macho_fixed_virtual_memory_shared_lib
:
34
case
file_magic::macho_core
:
35
case
file_magic::macho_preload_executable
:
36
case
file_magic::macho_dynamically_linked_shared_lib
:
37
case
file_magic::macho_dynamic_linker
:
38
case
file_magic::macho_bundle
:
39
case
file_magic::macho_dynamically_linked_shared_lib_stub
:
40
case
file_magic::macho_dsym_companion
:
41
case
file_magic::macho_kext_bundle
:
42
case
file_magic::macho_file_set
:
43
case
file_magic::pecoff_executable
:
44
case
file_magic::xcoff_object_32
:
45
case
file_magic::xcoff_object_64
:
46
case
file_magic::wasm_object
:
47
case
file_magic::coff_import_library
:
48
case
file_magic::elf_relocatable
:
49
case
file_magic::macho_object
:
50
case
file_magic::coff_object
:
51
case
file_magic::dxcontainer_object
:
52
return
true
;
53
default
:
54
return
false
;
55
}
56
}
SymbolicFile.h
llvm::LLVMContext
This is an important class for using LLVM in a threaded context.
Definition
LLVMContext.h:68
llvm::MemoryBufferRef
Definition
MemoryBufferRef.h:23
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition
Type.h:46
llvm::object::Binary::Binary
Binary(unsigned int Type, MemoryBufferRef Source)
Definition
Binary.cpp:20
llvm::object::SymbolicFile::~SymbolicFile
~SymbolicFile() override
llvm::object::SymbolicFile::SymbolicFile
SymbolicFile(unsigned int Type, MemoryBufferRef Source)
Definition
SymbolicFile.cpp:18
llvm::object::SymbolicFile::isSymbolicFile
static bool isSymbolicFile(file_magic Type, const LLVMContext *Context)
Definition
SymbolicFile.cpp:23
llvm::object
Definition
DWARFDebugLoc.h:25
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
DefaultTargetInfo.h:21
llvm::file_magic
file_magic - An "enum class" enumeration of file types based on magic (the first N bytes of the file)...
Definition
Magic.h:21
llvm::file_magic::coff_import_library
@ coff_import_library
COFF import library.
Definition
Magic.h:49
llvm::file_magic::elf_relocatable
@ elf_relocatable
ELF Relocatable object file.
Definition
Magic.h:28
llvm::file_magic::elf_shared_object
@ elf_shared_object
ELF dynamically linked shared lib.
Definition
Magic.h:30
llvm::file_magic::goff_object
@ goff_object
GOFF object file.
Definition
Magic.h:32
llvm::file_magic::macho_dynamically_linked_shared_lib
@ macho_dynamically_linked_shared_lib
Mach-O dynlinked shared lib.
Definition
Magic.h:38
llvm::file_magic::xcoff_object_64
@ xcoff_object_64
64-bit XCOFF object file
Definition
Magic.h:53
llvm::file_magic::elf_executable
@ elf_executable
ELF Executable image.
Definition
Magic.h:29
llvm::file_magic::macho_dynamically_linked_shared_lib_stub
@ macho_dynamically_linked_shared_lib_stub
Mach-O Shared lib stub.
Definition
Magic.h:41
llvm::file_magic::macho_preload_executable
@ macho_preload_executable
Mach-O Preloaded Executable.
Definition
Magic.h:37
llvm::file_magic::macho_file_set
@ macho_file_set
Mach-O file set binary.
Definition
Magic.h:45
llvm::file_magic::dxcontainer_object
@ dxcontainer_object
DirectX container file.
Definition
Magic.h:59
llvm::file_magic::macho_kext_bundle
@ macho_kext_bundle
Mach-O kext bundle file.
Definition
Magic.h:43
llvm::file_magic::pecoff_executable
@ pecoff_executable
PECOFF executable file.
Definition
Magic.h:50
llvm::file_magic::bitcode
@ bitcode
Bitcode file.
Definition
Magic.h:24
llvm::file_magic::macho_core
@ macho_core
Mach-O Core File.
Definition
Magic.h:36
llvm::file_magic::wasm_object
@ wasm_object
WebAssembly Object file.
Definition
Magic.h:54
llvm::file_magic::xcoff_object_32
@ xcoff_object_32
32-bit XCOFF object file
Definition
Magic.h:52
llvm::file_magic::elf_core
@ elf_core
ELF core image.
Definition
Magic.h:31
llvm::file_magic::macho_object
@ macho_object
Mach-O Object file.
Definition
Magic.h:33
llvm::file_magic::coff_object
@ coff_object
COFF object file.
Definition
Magic.h:48
llvm::file_magic::elf
@ elf
ELF Unknown type.
Definition
Magic.h:27
llvm::file_magic::macho_bundle
@ macho_bundle
Mach-O Bundle file.
Definition
Magic.h:40
llvm::file_magic::macho_executable
@ macho_executable
Mach-O Executable.
Definition
Magic.h:34
llvm::file_magic::macho_dsym_companion
@ macho_dsym_companion
Mach-O dSYM companion file.
Definition
Magic.h:42
llvm::file_magic::macho_fixed_virtual_memory_shared_lib
@ macho_fixed_virtual_memory_shared_lib
Mach-O Shared Lib, FVM.
Definition
Magic.h:35
llvm::file_magic::macho_dynamic_linker
@ macho_dynamic_linker
The Mach-O dynamic linker.
Definition
Magic.h:39
Generated on
for LLVM by
1.14.0