LLDB mainline
TypeSystemFortran.cpp
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#include "TypeSystemFortran.h"
10
14#include "lldb/Target/Target.h"
15
16using namespace lldb;
17using namespace lldb_private;
18using namespace llvm;
19using namespace lldb_private::plugin::dwarf;
20
22
24
27
33
37
39 Module *module, Target *target) {
40 if (Language::LanguageIsFortran(language))
41 return std::make_shared<TypeSystemFortran>();
42
43 return TypeSystemSP();
44}
45
56
60
#define LLDB_PLUGIN_DEFINE(PluginName)
static bool LanguageIsFortran(lldb::LanguageType language)
Definition Language.cpp:399
A class that describes an executable image and its associated object and symbol files.
Definition Module.h:91
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
static lldb::TypeSystemSP CreateInstance(lldb::LanguageType language, Module *module, Target *target)
static LanguageSet GetSupportedLanguagesForExpressions()
static LanguageSet GetSupportedLanguagesForTypes()
bool SupportsLanguage(lldb::LanguageType language) override
static llvm::StringRef GetPluginNameStatic()
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::TypeSystem > TypeSystemSP
LanguageType
Programming language type.
@ eLanguageTypeFortran08
ISO Fortran 2008.
@ eLanguageTypeFortran18
@ eLanguageTypeFortran95
ISO Fortran 95.
@ eLanguageTypeFortran77
ISO Fortran 77.
@ eLanguageTypeFortran90
ISO Fortran 90.
@ eLanguageTypeFortran03
ISO Fortran 2003.
A SmallBitVector that represents a set of source languages (lldb::LanguageType).
Definition Type.h:38
void Insert(lldb::LanguageType language)