//===- WebAssemblyMCTypeUtilities.cpp - WebAssembly Type Utility Functions-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// \file /// This file implements several utility functions for WebAssembly type parsing. /// //===----------------------------------------------------------------------===// #include "WebAssemblyMCTypeUtilities.h" #include "WebAssemblyMCTargetDesc.h" #include "llvm/ADT/StringSwitch.h" usingnamespacellvm; std::optional<wasm::ValType> WebAssembly::parseType(StringRef Type) { … } WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) { … } // We have various enums representing a subset of these types, use this // function to convert any of them to text. const char *WebAssembly::anyTypeToString(unsigned Type) { … } const char *WebAssembly::typeToString(wasm::ValType Type) { … } std::string WebAssembly::typeListToString(ArrayRef<wasm::ValType> List) { … } std::string WebAssembly::signatureToString(const wasm::WasmSignature *Sig) { … } wasm::ValType WebAssembly::regClassToValType(unsigned RC) { … }