• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/

Lines Matching defs:clang

90 static clang::TagTypeKind TranslateUdtKind(const TagRecord &cr) {
93 return clang::TTK_Class;
95 return clang::TTK_Struct;
97 return clang::TTK_Union;
99 return clang::TTK_Interface;
101 return clang::TTK_Enum;
104 return clang::TTK_Struct;
124 static llvm::Optional<clang::CallingConv>
131 return clang::CallingConv::CC_C;
134 return clang::CallingConv::CC_X86Pascal;
137 return clang::CallingConv::CC_X86FastCall;
140 return clang::CallingConv::CC_X86StdCall;
142 return clang::CallingConv::CC_X86ThisCall;
144 return clang::CallingConv::CC_X86VectorCall;
205 PdbAstBuilder::PdbAstBuilder(ObjectFile &obj, PdbIndex &index, ClangASTContext &clang)
206 : m_index(index), m_clang(clang) {
214 std::pair<clang::DeclContext *, std::string>
235 clang::DeclContext *context = m_clang.GetTranslationUnitDecl();
265 clang::QualType parent_qt = GetOrCreateType(parent_iter->second);
267 context = clang::TagDecl::castToDeclContext(parent_qt->getAsTagDecl());
434 clang::Decl *PdbAstBuilder::GetOrCreateSymbolForId(PdbCompilandSymId id) {
438 clang::DeclContext *scope = GetParentDeclContext(id);
439 clang::Decl *scope_decl = clang::Decl::castFromDeclContext(scope);
462 if (clang::Decl *result = TryGetDecl(uid))
465 clang::Decl *result = nullptr;
471 clang::QualType qt = GetOrCreateType(uid.asTypeSym());
485 clang::DeclContext *PdbAstBuilder::GetOrCreateDeclContextForUid(PdbSymUid uid) {
493 clang::Decl *decl = FromCompilerDecl(option.getValue());
497 return clang::Decl::castToDeclContext(decl);
500 std::pair<clang::DeclContext *, std::string>
517 clang::QualType qt = GetOrCreateType(types.back());
518 clang::TagDecl *tag = qt->getAsTagDecl();
520 return {clang::TagDecl::castToDeclContext(tag), uname};
532 clang::DeclContext *
558 clang::QualType qt = GetOrCreateType(matches.back());
559 clang::TagDecl *tag = qt->getAsTagDecl();
561 return clang::TagDecl::castToDeclContext(tag);
576 clang::DeclContext *PdbAstBuilder::GetParentDeclContext(PdbSymUid uid) {
636 bool PdbAstBuilder::CompleteType(clang::QualType qt) {
637 clang::TagDecl *tag = qt->getAsTagDecl();
644 bool PdbAstBuilder::CompleteTagDecl(clang::TagDecl &tag) {
658 clang::QualType tag_qt = m_clang.getASTContext().getTypeDeclType(&tag);
697 clang::QualType PdbAstBuilder::CreateSimpleType(TypeIndex ti) {
702 clang::QualType direct_type = GetOrCreateType(ti.makeDirect());
716 clang::QualType PdbAstBuilder::CreatePointerType(const PointerRecord &pointer) {
717 clang::QualType pointee_type = GetOrCreateType(pointer.ReferentType);
726 clang::QualType class_type = GetOrCreateType(mpi.ContainingType);
732 clang::QualType pointer_type;
752 clang::QualType
754 clang::QualType unmodified_type = GetOrCreateType(modifier.ModifiedType);
766 clang::QualType PdbAstBuilder::CreateRecordType(PdbTypeSymId id,
768 clang::DeclContext *context = nullptr;
771 clang::TagTypeKind ttk = TranslateUdtKind(record);
773 (ttk == clang::TTK_Class) ? lldb::eAccessPrivate : lldb::eAccessPublic;
789 clang::QualType result =
790 clang::QualType::getFromOpaquePtr(ct.GetOpaqueQualType());
796 clang::Decl *PdbAstBuilder::TryGetDecl(PdbSymUid uid) const {
803 clang::NamespaceDecl *
805 clang::DeclContext &context) {
810 clang::BlockDecl *
812 if (clang::Decl *decl = TryGetDecl(block_id))
813 return llvm::dyn_cast<clang::BlockDecl>(decl);
815 clang::DeclContext *scope = GetParentDeclContext(block_id);
817 clang::BlockDecl *block_decl = m_clang.CreateBlockDeclaration(scope);
828 clang::VarDecl *PdbAstBuilder::CreateVariableDecl(PdbSymUid uid, CVSymbol sym,
829 clang::DeclContext &scope) {
831 clang::QualType qt = GetOrCreateType(var_info.type);
833 clang::VarDecl *var_decl = m_clang.CreateVariableDeclaration(
844 clang::VarDecl *
847 if (clang::Decl *decl = TryGetDecl(var_id))
848 return llvm::dyn_cast<clang::VarDecl>(decl);
850 clang::DeclContext *scope = GetOrCreateDeclContextForUid(scope_id);
856 clang::VarDecl *PdbAstBuilder::GetOrCreateVariableDecl(PdbGlobalSymId var_id) {
857 if (clang::Decl *decl = TryGetDecl(var_id))
858 return llvm::dyn_cast<clang::VarDecl>(decl);
865 clang::TypedefNameDecl *
867 if (clang::Decl *decl = TryGetDecl(id))
868 return llvm::dyn_cast<clang::TypedefNameDecl>(decl);
874 clang::DeclContext *scope = GetParentDeclContext(id);
877 clang::QualType qt = GetOrCreateType(real_type_id);
883 clang::TypedefNameDecl *tnd = m_clang.GetAsTypedefDecl(ct);
891 clang::QualType PdbAstBuilder::GetBasicType(lldb::BasicType type) {
893 return clang::QualType::getFromOpaquePtr(ct.GetOpaqueQualType());
896 clang::QualType PdbAstBuilder::CreateType(PdbTypeSymId type) {
947 clang::QualType PdbAstBuilder::GetOrCreateType(PdbTypeSymId type) {
955 clang::QualType qt;
959 clang::QualType qt = GetOrCreateType(best_type);
969 clang::TagDecl *tag = qt->getAsTagDecl();
979 clang::FunctionDecl *
981 if (clang::Decl *decl = TryGetDecl(func_id))
982 return llvm::dyn_cast<clang::FunctionDecl>(decl);
984 clang::DeclContext *parent = GetParentDeclContext(PdbSymUid(func_id));
986 if (clang::NamespaceDecl *ns = llvm::dyn_cast<clang::NamespaceDecl>(parent)) {
988 } else if (clang::TagDecl *tag = llvm::dyn_cast<clang::TagDecl>(parent)) {
997 clang::QualType qt = GetOrCreateType(type_id);
1001 clang::StorageClass storage = clang::SC_None;
1003 storage = clang::SC_Static;
1005 const clang::FunctionProtoType *func_type =
1006 llvm::dyn_cast<clang::FunctionProtoType>(qt);
1014 clang::FunctionDecl *function_decl = m_clang.CreateFunctionDeclaration(
1030 clang::FunctionDecl &function_decl,
1038 std::vector<clang::ParmVarDecl *> params;
1079 clang::QualType qt = GetOrCreateType(param_type);
1082 clang::ParmVarDecl *param = m_clang.CreateParameterDeclaration(
1084 clang::SC_None, true);
1096 clang::QualType PdbAstBuilder::CreateEnumType(PdbTypeSymId id,
1098 clang::DeclContext *decl_context = nullptr;
1101 clang::QualType underlying_type = GetOrCreateType(er.UnderlyingType);
1111 return clang::QualType::getFromOpaquePtr(enum_ct.GetOpaqueQualType());
1114 clang::QualType PdbAstBuilder::CreateArrayType(const ArrayRecord &ar) {
1115 clang::QualType element_type = GetOrCreateType(ar.ElementType);
1122 return clang::QualType::getFromOpaquePtr(array_ct.GetOpaqueQualType());
1125 clang::QualType PdbAstBuilder::CreateFunctionType(
1143 clang::QualType arg_type = GetOrCreateType(arg_index);
1147 clang::QualType return_type = GetOrCreateType(return_type_idx);
1149 llvm::Optional<clang::CallingConv> cc =
1158 return clang::QualType::getFromOpaquePtr(
1162 static bool isTagDecl(clang::DeclContext &context) {
1163 return !!llvm::dyn_cast<clang::TagDecl>(&context);
1166 static bool isFunctionDecl(clang::DeclContext &context) {
1167 return !!llvm::dyn_cast<clang::FunctionDecl>(&context);
1170 static bool isBlockDecl(clang::DeclContext &context) {
1171 return !!llvm::dyn_cast<clang::BlockDecl>(&context);
1187 clang::QualType qt = GetOrCreateType(tid);
1195 clang::DeclContext *context = nullptr;
1201 clang::NamespaceDecl *ns = llvm::dyn_cast<clang::NamespaceDecl>(context);
1204 clang::QualType qt = GetOrCreateType(tid);
1239 static CVSymbolArray skipFunctionParameters(clang::Decl &decl,
1241 clang::FunctionDecl *func_decl = llvm::dyn_cast<clang::FunctionDecl>(&decl);
1292 void PdbAstBuilder::ParseDeclsForSimpleContext(clang::DeclContext &context) {
1294 clang::Decl *decl = clang::Decl::castFromDeclContext(&context);
1300 if (auto *tag = llvm::dyn_cast<clang::TagDecl>(&context)) {
1311 void PdbAstBuilder::ParseDeclsForContext(clang::DeclContext &context) {
1324 clang::NamespaceDecl &ns = *llvm::dyn_cast<clang::NamespaceDecl>(&context);
1336 CompilerDecl PdbAstBuilder::ToCompilerDecl(clang::Decl &decl) {
1340 CompilerType PdbAstBuilder::ToCompilerType(clang::QualType qt) {
1345 PdbAstBuilder::ToCompilerDeclContext(clang::DeclContext &context) {
1349 clang::Decl * PdbAstBuilder::FromCompilerDecl(CompilerDecl decl) {
1350 return static_cast<clang::Decl *>(decl.GetOpaqueDecl());
1353 clang::DeclContext *
1355 return static_cast<clang::DeclContext *>(context.GetOpaqueDeclContext());