1*f6aab3d8Srobert //===-- TempFile.h ----------------------------------------------*- C++ -*-===// 2*f6aab3d8Srobert // 3*f6aab3d8Srobert // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*f6aab3d8Srobert // See https://llvm.org/LICENSE.txt for license information. 5*f6aab3d8Srobert // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*f6aab3d8Srobert // 7*f6aab3d8Srobert //===----------------------------------------------------------------------===// 8*f6aab3d8Srobert 9*f6aab3d8Srobert #include "llvm/ADT/SmallString.h" 10*f6aab3d8Srobert #include "llvm/ADT/StringRef.h" 11*f6aab3d8Srobert #include "llvm/Support/Error.h" 12*f6aab3d8Srobert 13*f6aab3d8Srobert namespace lldb_fuzzer { 14*f6aab3d8Srobert 15*f6aab3d8Srobert class TempFile { 16*f6aab3d8Srobert public: 17*f6aab3d8Srobert TempFile() = default; 18*f6aab3d8Srobert ~TempFile(); 19*f6aab3d8Srobert 20*f6aab3d8Srobert static std::unique_ptr<TempFile> Create(uint8_t *data, size_t size); GetPath()21*f6aab3d8Srobert llvm::StringRef GetPath() { return m_path.str(); } 22*f6aab3d8Srobert 23*f6aab3d8Srobert private: 24*f6aab3d8Srobert llvm::SmallString<128> m_path; 25*f6aab3d8Srobert }; 26*f6aab3d8Srobert 27*f6aab3d8Srobert } // namespace lldb_fuzzer 28