diff options
Diffstat (limited to 'contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp')
-rw-r--r-- | contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp b/contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp new file mode 100644 index 000000000000..e99ebfee4cff --- /dev/null +++ b/contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp @@ -0,0 +1,28 @@ +//===-- DeclVendor.cpp ----------------------------------------------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +#include "lldb/Symbol/DeclVendor.h" +#include "lldb/Symbol/CompilerDecl.h" +#include "lldb/Symbol/TypeSystem.h" + +#include <vector> + +using namespace lldb; +using namespace lldb_private; + +std::vector<CompilerType> DeclVendor::FindTypes(ConstString name, + uint32_t max_matches) { + std::vector<CompilerType> ret; + std::vector<CompilerDecl> decls; + if (FindDecls(name, /*append*/ true, max_matches, decls)) + for (auto decl : decls) + if (auto type = + decl.GetTypeSystem()->GetTypeForDecl(decl.GetOpaqueDecl())) + ret.push_back(type); + return ret; +} |