1 //===-- llvm/BinaryFormat/Wasm.cpp -------------------------------*- C++-*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/BinaryFormat/Wasm.h" 11 12 std::string llvm::wasm::toString(wasm::WasmSymbolType type) { 13 switch (type) { 14 case wasm::WASM_SYMBOL_TYPE_FUNCTION: 15 return "WASM_SYMBOL_TYPE_FUNCTION"; 16 case wasm::WASM_SYMBOL_TYPE_GLOBAL: 17 return "WASM_SYMBOL_TYPE_GLOBAL"; 18 case wasm::WASM_SYMBOL_TYPE_DATA: 19 return "WASM_SYMBOL_TYPE_DATA"; 20 case wasm::WASM_SYMBOL_TYPE_SECTION: 21 return "WASM_SYMBOL_TYPE_SECTION"; 22 case wasm::WASM_SYMBOL_TYPE_EVENT: 23 return "WASM_SYMBOL_TYPE_EVENT"; 24 } 25 llvm_unreachable("unknown symbol type"); 26 } 27 28 std::string llvm::wasm::relocTypetoString(uint32_t type) { 29 switch (type) { 30 #define WASM_RELOC(NAME, VALUE) \ 31 case VALUE: \ 32 return #NAME; 33 #include "llvm/BinaryFormat/WasmRelocs.def" 34 #undef WASM_RELOC 35 default: 36 llvm_unreachable("unknown reloc type"); 37 } 38 } 39