Lines Matching defs:D

36 static void dumpPreviousDeclImpl(raw_ostream &OS, const Mergeable<T> *D) {
37 const T *First = D->getFirstDecl();
38 if (First != D)
43 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
44 const T *Prev = D->getPreviousDecl();
51 static void dumpPreviousDecl(raw_ostream &OS, const Decl *D) {
52 switch (D->getKind()) {
55 return dumpPreviousDeclImpl(OS, cast<DERIVED##Decl>(D));
265 void TextNodeDumper::Visit(const Decl *D) {
266 if (!D) {
274 OS << D->getDeclKindName() << "Decl";
276 dumpPointer(D);
277 if (D->getLexicalDeclContext() != D->getDeclContext())
278 OS << " parent " << cast<Decl>(D->getDeclContext());
279 dumpPreviousDecl(OS, D);
280 dumpSourceRange(D->getSourceRange());
282 dumpLocation(D->getLocation());
283 if (D->isFromASTFile())
285 if (Module *M = D->getOwningModule())
287 if (auto *ND = dyn_cast<NamedDecl>(D))
288 for (Module *M : D->getASTContext().getModulesWithMergedDefinition(
291 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D))
294 if (D->isImplicit())
297 if (D->isUsed())
299 else if (D->isThisDeclarationReferenced())
302 if (D->isInvalidDecl())
304 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
315 if (!isa<FunctionDecl>(*D)) {
316 const auto *MD = dyn_cast<ObjCMethodDecl>(D);
318 const auto *DC = dyn_cast<DeclContext>(D);
326 switch (D->getFriendObjectKind()) {
337 ConstDeclVisitor<TextNodeDumper>::Visit(D);
829 void TextNodeDumper::dumpBareDeclRef(const Decl *D) {
830 if (!D) {
838 OS << D->getDeclKindName();
840 dumpPointer(D);
842 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) {
847 if (const ValueDecl *VD = dyn_cast<ValueDecl>(D))
942 void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef Label) {
943 if (!D)
949 dumpBareDeclRef(D);
2056 void TextNodeDumper::VisitLabelDecl(const LabelDecl *D) { dumpName(D); }
2058 void TextNodeDumper::VisitTypedefDecl(const TypedefDecl *D) {
2059 dumpName(D);
2060 dumpType(D->getUnderlyingType());
2061 if (D->isModulePrivate())
2065 void TextNodeDumper::VisitEnumDecl(const EnumDecl *D) {
2066 if (D->isScoped()) {
2067 if (D->isScopedUsingClassTag())
2072 dumpName(D);
2073 if (D->isModulePrivate())
2075 if (D->isFixed())
2076 dumpType(D->getIntegerType());
2079 void TextNodeDumper::VisitRecordDecl(const RecordDecl *D) {
2080 OS << ' ' << D->getKindName();
2081 dumpName(D);
2082 if (D->isModulePrivate())
2084 if (D->isCompleteDefinition())
2088 void TextNodeDumper::VisitEnumConstantDecl(const EnumConstantDecl *D) {
2089 dumpName(D);
2090 dumpType(D->getType());
2093 void TextNodeDumper::VisitIndirectFieldDecl(const IndirectFieldDecl *D) {
2094 dumpName(D);
2095 dumpType(D->getType());
2097 for (const auto *Child : D->chain())
2101 void TextNodeDumper::VisitFunctionDecl(const FunctionDecl *D) {
2102 dumpName(D);
2103 dumpType(D->getType());
2104 dumpTemplateSpecializationKind(D->getTemplateSpecializationKind());
2106 StorageClass SC = D->getStorageClass();
2109 if (D->isInlineSpecified())
2111 if (D->isVirtualAsWritten())
2113 if (D->isModulePrivate())
2116 if (D->isPureVirtual())
2118 if (D->isDefaulted()) {
2120 if (D->isDeleted())
2123 if (D->isDeletedAsWritten())
2125 if (D->isTrivial())
2128 if (const StringLiteral *M = D->getDeletedMessage())
2131 if (D->isIneligibleOrNotSelected())
2132 OS << (isa<CXXDestructorDecl>(D) ? " not_selected" : " ineligible");
2134 if (const auto *FPT = D->getType()->getAs<FunctionProtoType>()) {
2148 if (const auto *MD = dyn_cast<CXXMethodDecl>(D)) {
2150 auto dumpOverride = [=](const CXXMethodDecl *D) {
2151 SplitQualType T_split = D->getType().split();
2152 OS << D << " " << D->getParent()->getName() << "::" << D->getDeclName()
2169 if (!D->isInlineSpecified() && D->isInlined()) {
2176 if (!D->param_empty() && !D->param_begin())
2177 OS << " <<<NULL params x " << D->getNumParams() << ">>>";
2179 if (const auto *Instance = D->getInstantiatedFromMemberFunction()) {
2186 const CXXDeductionGuideDecl *D) {
2187 VisitFunctionDecl(D);
2188 switch (D->getDeductionCandidateKind()) {
2199 const LifetimeExtendedTemporaryDecl *D) {
2201 dumpBareDeclRef(D->getExtendingDecl());
2205 OS << D->getManglingNumber();
2209 void TextNodeDumper::VisitFieldDecl(const FieldDecl *D) {
2210 dumpName(D);
2211 dumpType(D->getType());
2212 if (D->isMutable())
2214 if (D->isModulePrivate())
2218 void TextNodeDumper::VisitVarDecl(const VarDecl *D) {
2219 dumpNestedNameSpecifier(D->getQualifier());
2220 dumpName(D);
2221 if (const auto *P = dyn_cast<ParmVarDecl>(D);
2225 dumpType(D->getType());
2226 dumpTemplateSpecializationKind(D->getTemplateSpecializationKind());
2227 StorageClass SC = D->getStorageClass();
2230 switch (D->getTLSKind()) {
2240 if (D->isModulePrivate())
2242 if (D->isNRVOVariable())
2244 if (D->isInline())
2246 if (D->isConstexpr())
2248 if (D->hasInit()) {
2249 switch (D->getInitStyle()) {
2263 if (D->needsDestruction(D->getASTContext()))
2265 if (D->isParameterPack())
2268 if (D->hasInit()) {
2269 const Expr *E = D->getInit();
2271 if (E && !E->isValueDependent() && D->isConstexpr() &&
2272 !D->getType()->isDependentType()) {
2273 const APValue *Value = D->evaluateValue();
2280 void TextNodeDumper::VisitBindingDecl(const BindingDecl *D) {
2281 dumpName(D);
2282 dumpType(D->getType());
2285 void TextNodeDumper::VisitCapturedDecl(const CapturedDecl *D) {
2286 if (D->isNothrow())
2290 void TextNodeDumper::VisitImportDecl(const ImportDecl *D) {
2291 OS << ' ' << D->getImportedModule()->getFullModuleName();
2294 D->getASTContext().getModuleInitializers(D->getImportedModule()))
2298 void TextNodeDumper::VisitPragmaCommentDecl(const PragmaCommentDecl *D) {
2300 switch (D->getCommentKind()) {
2319 StringRef Arg = D->getArg();
2325 const PragmaDetectMismatchDecl *D) {
2326 OS << " \"" << D->getName() << "\" \"" << D->getValue() << "\"";
2330 const OMPExecutableDirective *D) {
2331 if (D->isStandaloneDirective())
2336 const OMPDeclareReductionDecl *D) {
2337 dumpName(D);
2338 dumpType(D->getType());
2340 dumpPointer(D->getCombiner());
2341 if (const auto *Initializer = D->getInitializer()) {
2344 switch (D->getInitializerKind()) {
2357 void TextNodeDumper::VisitOMPRequiresDecl(const OMPRequiresDecl *D) {
2358 for (const auto *C : D->clauselists()) {
2378 void TextNodeDumper::VisitOMPCapturedExprDecl(const OMPCapturedExprDecl *D) {
2379 dumpName(D);
2380 dumpType(D->getType());
2383 void TextNodeDumper::VisitNamespaceDecl(const NamespaceDecl *D) {
2384 dumpName(D);
2385 if (D->isInline())
2387 if (D->isNested())
2389 if (!D->isFirstDecl())
2390 dumpDeclRef(D->getFirstDecl(), "original");
2393 void TextNodeDumper::VisitUsingDirectiveDecl(const UsingDirectiveDecl *D) {
2395 dumpBareDeclRef(D->getNominatedNamespace());
2398 void TextNodeDumper::VisitNamespaceAliasDecl(const NamespaceAliasDecl *D) {
2399 dumpName(D);
2400 dumpDeclRef(D->getAliasedNamespace());
2403 void TextNodeDumper::VisitTypeAliasDecl(const TypeAliasDecl *D) {
2404 dumpName(D);
2405 dumpType(D->getUnderlyingType());
2409 const TypeAliasTemplateDecl *D) {
2410 dumpName(D);
2413 void TextNodeDumper::VisitCXXRecordDecl(const CXXRecordDecl *D) {
2414 VisitRecordDecl(D);
2415 if (const auto *Instance = D->getInstantiatedFromMemberClass()) {
2419 if (const auto *CTSD = dyn_cast<ClassTemplateSpecializationDecl>(D))
2422 dumpNestedNameSpecifier(D->getQualifier());
2424 if (!D->isCompleteDefinition())
2433 if (D->fn()) \
2485 if (!D->needsOverloadResolutionForCopyConstructor())
2503 if (!D->needsOverloadResolutionForMoveConstructor())
2549 if (!D->needsOverloadResolutionForDestructor())
2554 for (const auto &I : D->bases()) {
2566 void TextNodeDumper::VisitFunctionTemplateDecl(const FunctionTemplateDecl *D) {
2567 dumpName(D);
2570 void TextNodeDumper::VisitClassTemplateDecl(const ClassTemplateDecl *D) {
2571 dumpName(D);
2574 void TextNodeDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) {
2575 dumpName(D);
2578 void TextNodeDumper::VisitBuiltinTemplateDecl(const BuiltinTemplateDecl *D) {
2579 dumpName(D);
2582 void TextNodeDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
2583 if (const auto *TC = D->getTypeConstraint()) {
2591 } else if (D->wasDeclaredWithTypename())
2595 OS << " depth " << D->getDepth() << " index " << D->getIndex();
2596 if (D->isParameterPack())
2598 dumpName(D);
2602 const NonTypeTemplateParmDecl *D) {
2603 dumpType(D->getType());
2604 OS << " depth " << D->getDepth() << " index " << D->getIndex();
2605 if (D->isParameterPack())
2607 dumpName(D);
2611 const TemplateTemplateParmDecl *D) {
2612 OS << " depth " << D->getDepth() << " index " << D->getIndex();
2613 if (D->isParameterPack())
2615 dumpName(D);
2618 void TextNodeDumper::VisitUsingDecl(const UsingDecl *D) {
2620 if (D->getQualifier())
2621 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy());
2622 OS << D->getDeclName();
2623 dumpNestedNameSpecifier(D->getQualifier());
2626 void TextNodeDumper::VisitUsingEnumDecl(const UsingEnumDecl *D) {
2628 dumpBareDeclRef(D->getEnumDecl());
2632 const UnresolvedUsingTypenameDecl *D) {
2634 if (D->getQualifier())
2635 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy());
2636 OS << D->getDeclName();
2640 const UnresolvedUsingValueDecl *D) {
2642 if (D->getQualifier())
2643 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy());
2644 OS << D->getDeclName();
2645 dumpType(D->getType());
2648 void TextNodeDumper::VisitUsingShadowDecl(const UsingShadowDecl *D) {
2650 dumpBareDeclRef(D->getTargetDecl());
2654 const ConstructorUsingShadowDecl *D) {
2655 if (D->constructsVirtualBase())
2660 dumpBareDeclRef(D->getTargetDecl());
2665 dumpBareDeclRef(D->getNominatedBaseClass());
2667 dumpBareDeclRef(D->getNominatedBaseClassShadowDecl());
2672 dumpBareDeclRef(D->getConstructedBaseClass());
2674 dumpBareDeclRef(D->getConstructedBaseClassShadowDecl());
2678 void TextNodeDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *D) {
2679 switch (D->getLanguage()) {
2689 void TextNodeDumper::VisitAccessSpecDecl(const AccessSpecDecl *D) {
2691 dumpAccessSpecifier(D->getAccess());
2694 void TextNodeDumper::VisitFriendDecl(const FriendDecl *D) {
2695 if (TypeSourceInfo *T = D->getFriendType())
2699 void TextNodeDumper::VisitObjCIvarDecl(const ObjCIvarDecl *D) {
2700 dumpName(D);
2701 dumpType(D->getType());
2702 if (D->getSynthesize())
2705 switch (D->getAccessControl()) {
2724 void TextNodeDumper::VisitObjCMethodDecl(const ObjCMethodDecl *D) {
2725 if (D->isInstanceMethod())
2729 dumpName(D);
2730 dumpType(D->getReturnType());
2732 if (D->isVariadic())
2736 void TextNodeDumper::VisitObjCTypeParamDecl(const ObjCTypeParamDecl *D) {
2737 dumpName(D);
2738 switch (D->getVariance()) {
2751 if (D->hasExplicitBound())
2753 dumpType(D->getUnderlyingType());
2756 void TextNodeDumper::VisitObjCCategoryDecl(const ObjCCategoryDecl *D) {
2757 dumpName(D);
2758 dumpDeclRef(D->getClassInterface());
2759 dumpDeclRef(D->getImplementation());
2760 for (const auto *P : D->protocols())
2764 void TextNodeDumper::VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D) {
2765 dumpName(D);
2766 dumpDeclRef(D->getClassInterface());
2767 dumpDeclRef(D->getCategoryDecl());
2770 void TextNodeDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
2771 dumpName(D);
2773 for (const auto *Child : D->protocols())
2777 void TextNodeDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
2778 dumpName(D);
2779 dumpDeclRef(D->getSuperClass(), "super");
2781 dumpDeclRef(D->getImplementation());
2782 for (const auto *Child : D->protocols())
2787 const ObjCImplementationDecl *D) {
2788 dumpName(D);
2789 dumpDeclRef(D->getSuperClass(), "super");
2790 dumpDeclRef(D->getClassInterface());
2794 const ObjCCompatibleAliasDecl *D) {
2795 dumpName(D);
2796 dumpDeclRef(D->getClassInterface());
2799 void TextNodeDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
2800 dumpName(D);
2801 dumpType(D->getType());
2803 if (D->getPropertyImplementation() == ObjCPropertyDecl::Required)
2805 else if (D->getPropertyImplementation() == ObjCPropertyDecl::Optional)
2808 ObjCPropertyAttribute::Kind Attrs = D->getPropertyAttributes();
2835 dumpDeclRef(D->getGetterMethodDecl(), "getter");
2837 dumpDeclRef(D->getSetterMethodDecl(), "setter");
2841 void TextNodeDumper::VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D) {
2842 dumpName(D->getPropertyDecl());
2843 if (D->getPropertyImplementation() == ObjCPropertyImplDecl::Synthesize)
2847 dumpDeclRef(D->getPropertyDecl());
2848 dumpDeclRef(D->getPropertyIvarDecl());
2851 void TextNodeDumper::VisitBlockDecl(const BlockDecl *D) {
2852 if (D->isVariadic())
2855 if (D->capturesCXXThis())
2859 void TextNodeDumper::VisitConceptDecl(const ConceptDecl *D) {
2860 dumpName(D);
2869 void TextNodeDumper::VisitHLSLBufferDecl(const HLSLBufferDecl *D) {
2870 if (D->isCBuffer())
2874 dumpName(D);