1 | //===-- DeclVendor.cpp ----------------------------------------------------===// |
---|---|
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 "lldb/Symbol/DeclVendor.h" |
10 | #include "lldb/Symbol/CompilerDecl.h" |
11 | #include "lldb/Symbol/TypeSystem.h" |
12 | |
13 | #include <vector> |
14 | |
15 | using namespace lldb; |
16 | using namespace lldb_private; |
17 | |
18 | std::vector<CompilerType> DeclVendor::FindTypes(ConstString name, |
19 | uint32_t max_matches) { |
20 | std::vector<CompilerType> ret; |
21 | std::vector<CompilerDecl> decls; |
22 | if (FindDecls(name, /*append*/ true, max_matches, decls)) |
23 | for (auto decl : decls) |
24 | if (auto type = |
25 | decl.GetTypeSystem()->GetTypeForDecl(opaque_decl: decl.GetOpaqueDecl())) |
26 | ret.push_back(x: type); |
27 | return ret; |
28 | } |
29 |