LLDB mainline
RustLanguage.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_RUST_RUSTLANGUAGE_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGE_RUST_RUSTLANGUAGE_H
11
13#include "lldb/lldb-private.h"
14
15namespace lldb_private {
16
17class RustLanguage : public Language {
18public:
22
23 bool IsSourceFile(llvm::StringRef file_path) const override;
24
25 /// Rust has no null literal, so null pointers print like in C.
26 llvm::StringRef GetNilReferenceSummaryString() override { return "NULL"; }
27
28 DemangledName DemangleSymbol(ConstString mangled,
30 const DemangleOptions &options) const override;
31
32 // Static Functions
33 static void Initialize();
34
35 static void Terminate();
36
38
39 static llvm::StringRef GetPluginNameStatic() { return "rust"; }
40
41 /// PluginInterface protocol.
42 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
43};
44
45} // namespace lldb_private
46
47#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_RUST_RUSTLANGUAGE_H
A uniqued constant string class.
Definition ConstString.h:40
llvm::StringRef GetPluginName() override
PluginInterface protocol.
static Language * CreateInstance(lldb::LanguageType language)
DemangledName DemangleSymbol(ConstString mangled, Mangled::ManglingScheme scheme, const DemangleOptions &options) const override
Demangle mangled, a name mangled with scheme, a scheme that this language registered with Mangled::Re...
bool IsSourceFile(llvm::StringRef file_path) const override
static llvm::StringRef GetPluginNameStatic()
llvm::StringRef GetNilReferenceSummaryString() override
Rust has no null literal, so null pointers print like in C.
lldb::LanguageType GetLanguageType() const override
A class that represents a running process on the host machine.
LanguageType
Programming language type.
@ eLanguageTypeRust
Rust.