Lines Matching refs:D
64 static_cast<Impl*>(this)->NAME(static_cast<CLASS*>(D))
66 void dispatch(Decl *D) { in dispatch()
67 switch (D->getKind()) { in dispatch()
81 void dispatch##DERIVED##DeclAttrs(DERIVED##Decl *D) { \
85 void visit##DERIVED##DeclAttrs(DERIVED##Decl *D) {} \
86 void dispatch##DERIVED##DeclChildren(DERIVED##Decl *D) { \
90 void visit##DERIVED##DeclChildren(DERIVED##Decl *D) {} \
91 void dispatch##DERIVED##DeclAsContext(DERIVED##Decl *D) { \
95 void visit##DERIVED##DeclAsContext(DERIVED##Decl *D) {}
98 void dispatchDeclAttrs(Decl *D) { in dispatchDeclAttrs()
101 void visitDeclAttrs(Decl *D) {} in visitDeclAttrs()
103 void dispatchDeclChildren(Decl *D) { in dispatchDeclChildren()
106 void visitDeclChildren(Decl *D) {} in visitDeclChildren()
108 void dispatchDeclAsContext(Decl *D) { in dispatchDeclAsContext()
111 void visitDeclAsContext(Decl *D) {} in visitDeclAsContext()
296 void visitDeclRef(Decl *D) { in visitDeclRef()
297 push(D->getDeclKindName()); in visitDeclRef()
298 setPointer("ref", D); in visitDeclRef()
302 void visitDeclRef(StringRef Name, Decl *D) { in visitDeclRef()
304 if (D) visitDeclRef(D); in visitDeclRef()
323 if (Decl *D = A.getAsDecl()) in dispatch() local
324 visitDeclRef(D); in dispatch()
381 void dispatch(Decl *D) { in dispatch()
382 push(D->getDeclKindName()); in dispatch()
383 XMLDeclVisitor<XMLDumper>::dispatch(D); in dispatch()
386 void visitDeclAttrs(Decl *D) { in visitDeclAttrs()
387 setPointer(D); in visitDeclAttrs()
410 template <class T> void visitRedeclarableAttrs(T *D) { in visitRedeclarableAttrs()
411 if (T *Prev = D->getPreviousDecl()) in visitRedeclarableAttrs()
417 void visitTranslationUnitDeclAsContext(TranslationUnitDecl *D) { in visitTranslationUnitDeclAsContext()
418 visitDeclContext(D); in visitTranslationUnitDeclAsContext()
422 void visitLinkageSpecDeclAttrs(LinkageSpecDecl *D) { in visitLinkageSpecDeclAttrs()
424 switch (D->getLanguage()) { in visitLinkageSpecDeclAttrs()
430 void visitLinkageSpecDeclAsContext(LinkageSpecDecl *D) { in visitLinkageSpecDeclAsContext()
431 visitDeclContext(D); in visitLinkageSpecDeclAsContext()
435 void visitNamespaceDeclAttrs(NamespaceDecl *D) { in visitNamespaceDeclAttrs()
436 setFlag("inline", D->isInline()); in visitNamespaceDeclAttrs()
437 if (!D->isOriginalNamespace()) in visitNamespaceDeclAttrs()
438 setPointer("original", D->getOriginalNamespace()); in visitNamespaceDeclAttrs()
440 void visitNamespaceDeclAsContext(NamespaceDecl *D) { in visitNamespaceDeclAsContext()
441 visitDeclContext(D); in visitNamespaceDeclAsContext()
445 void visitNamedDeclAttrs(NamedDecl *D) { in visitNamedDeclAttrs()
446 setName(D->getDeclName()); in visitNamedDeclAttrs()
450 void visitValueDeclChildren(ValueDecl *D) { in visitValueDeclChildren()
451 dispatch(D->getType()); in visitValueDeclChildren()
455 void visitDeclaratorDeclChildren(DeclaratorDecl *D) { in visitDeclaratorDeclChildren()
460 void visitVarDeclAttrs(VarDecl *D) { in visitVarDeclAttrs()
461 visitRedeclarableAttrs(D); in visitVarDeclAttrs()
462 if (D->getStorageClass() != SC_None) in visitVarDeclAttrs()
464 VarDecl::getStorageClassSpecifierString(D->getStorageClass())); in visitVarDeclAttrs()
466 switch (D->getInitStyle()) { in visitVarDeclAttrs()
472 setFlag("nrvo", D->isNRVOVariable()); in visitVarDeclAttrs()
475 void visitVarDeclChildren(VarDecl *D) { in visitVarDeclChildren()
476 if (D->hasInit()) dispatch(D->getInit()); in visitVarDeclChildren()
482 void visitFunctionDeclAttrs(FunctionDecl *D) { in visitFunctionDeclAttrs()
483 visitRedeclarableAttrs(D); in visitFunctionDeclAttrs()
484 setFlag("pure", D->isPure()); in visitFunctionDeclAttrs()
485 setFlag("trivial", D->isTrivial()); in visitFunctionDeclAttrs()
486 setFlag("returnzero", D->hasImplicitReturnZero()); in visitFunctionDeclAttrs()
487 setFlag("prototype", D->hasWrittenPrototype()); in visitFunctionDeclAttrs()
488 setFlag("deleted", D->isDeletedAsWritten()); in visitFunctionDeclAttrs()
489 if (D->getStorageClass() != SC_None) in visitFunctionDeclAttrs()
491 VarDecl::getStorageClassSpecifierString(D->getStorageClass())); in visitFunctionDeclAttrs()
492 setFlag("inline", D->isInlineSpecified()); in visitFunctionDeclAttrs()
493 if (const AsmLabelAttr *ALA = D->getAttr<AsmLabelAttr>()) in visitFunctionDeclAttrs()
497 void visitFunctionDeclChildren(FunctionDecl *D) { in visitFunctionDeclChildren()
499 I = D->param_begin(), E = D->param_end(); I != E; ++I) in visitFunctionDeclChildren()
502 I = D->getDeclsInPrototypeScope().begin(), E = D->getDeclsInPrototypeScope().end(); in visitFunctionDeclChildren()
505 if (D->doesThisDeclarationHaveABody()) in visitFunctionDeclChildren()
506 dispatch(D->getBody()); in visitFunctionDeclChildren()
519 void visitFieldDeclAttrs(FieldDecl *D) { in visitFieldDeclAttrs()
520 setFlag("mutable", D->isMutable()); in visitFieldDeclAttrs()
522 void visitFieldDeclChildren(FieldDecl *D) { in visitFieldDeclChildren()
523 if (D->isBitField()) { in visitFieldDeclChildren()
525 dispatch(D->getBitWidth()); in visitFieldDeclChildren()
531 void visitEnumConstantDeclChildren(EnumConstantDecl *D) { in visitEnumConstantDeclChildren()
533 if (D->getInitExpr()) dispatch(D->getInitExpr()); in visitEnumConstantDeclChildren()
537 void visitIndirectFieldDeclChildren(IndirectFieldDecl *D) { in visitIndirectFieldDeclChildren()
539 I = D->chain_begin(), E = D->chain_end(); I != E; ++I) { in visitIndirectFieldDeclChildren()
549 void visitTypeDeclAttrs(TypeDecl *D) { in visitTypeDeclAttrs()
550 setPointer("typeptr", D->getTypeForDecl()); in visitTypeDeclAttrs()
554 void visitTypedefDeclAttrs(TypedefDecl *D) { in visitTypedefDeclAttrs()
555 visitRedeclarableAttrs<TypedefNameDecl>(D); in visitTypedefDeclAttrs()
557 void visitTypedefDeclChildren(TypedefDecl *D) { in visitTypedefDeclChildren()
558 dispatch(D->getTypeSourceInfo()->getTypeLoc()); in visitTypedefDeclChildren()
562 void visitTypeAliasDeclAttrs(TypeAliasDecl *D) { in visitTypeAliasDeclAttrs()
563 visitRedeclarableAttrs<TypedefNameDecl>(D); in visitTypeAliasDeclAttrs()
565 void visitTypeAliasDeclChildren(TypeAliasDecl *D) { in visitTypeAliasDeclChildren()
566 dispatch(D->getTypeSourceInfo()->getTypeLoc()); in visitTypeAliasDeclChildren()
570 void visitTagDeclAttrs(TagDecl *D) { in visitTagDeclAttrs()
571 visitRedeclarableAttrs(D); in visitTagDeclAttrs()
573 void visitTagDeclAsContext(TagDecl *D) { in visitTagDeclAsContext()
574 visitDeclContext(D); in visitTagDeclAsContext()
578 void visitEnumDeclAttrs(EnumDecl *D) { in visitEnumDeclAttrs()
579 setFlag("scoped", D->isScoped()); in visitEnumDeclAttrs()
580 setFlag("fixed", D->isFixed()); in visitEnumDeclAttrs()
582 void visitEnumDeclChildren(EnumDecl *D) { in visitEnumDeclChildren()
585 dispatch(D->getPromotionType()); in visitEnumDeclChildren()
589 dispatch(D->getIntegerType()); in visitEnumDeclChildren()
595 void visitCXXRecordDeclChildren(CXXRecordDecl *D) { in visitCXXRecordDeclChildren()
596 if (!D->isThisDeclarationADefinition()) return; in visitCXXRecordDeclChildren()
599 I = D->bases_begin(), E = D->bases_end(); I != E; ++I) { in visitCXXRecordDeclChildren()
613 void visitBlockDeclAttrs(BlockDecl *D) { in visitBlockDeclAttrs()
614 setFlag("variadic", D->isVariadic()); in visitBlockDeclAttrs()
616 void visitBlockDeclChildren(BlockDecl *D) { in visitBlockDeclChildren()
618 I = D->param_begin(), E = D->param_end(); I != E; ++I) in visitBlockDeclChildren()
620 dispatch(D->getBody()); in visitBlockDeclChildren()
624 void visitAccessSpecDeclAttrs(AccessSpecDecl *D) { in visitAccessSpecDeclAttrs()
625 setAccess(D->getAccess()); in visitAccessSpecDeclAttrs()
629 void visitTemplateDeclChildren(TemplateDecl *D) { in visitTemplateDeclChildren()
630 visitTemplateParameters(D->getTemplateParameters()); in visitTemplateDeclChildren()
631 if (D->getTemplatedDecl()) in visitTemplateDeclChildren()
632 dispatch(D->getTemplatedDecl()); in visitTemplateDeclChildren()
636 void visitFunctionTemplateDeclAttrs(FunctionTemplateDecl *D) { in visitFunctionTemplateDeclAttrs()
637 visitRedeclarableAttrs(D); in visitFunctionTemplateDeclAttrs()
639 void visitFunctionTemplateDeclChildren(FunctionTemplateDecl *D) { in visitFunctionTemplateDeclChildren()
643 I = D->spec_begin(), E = D->spec_end(); I != E; ++I) { in visitFunctionTemplateDeclChildren()
666 void visitClassTemplateDeclAttrs(ClassTemplateDecl *D) { in visitClassTemplateDeclAttrs()
667 visitRedeclarableAttrs(D); in visitClassTemplateDeclAttrs()
669 void visitClassTemplateDeclChildren(ClassTemplateDecl *D) { in visitClassTemplateDeclChildren()
673 I = D->spec_begin(), E = D->spec_end(); I != E; ++I) { in visitClassTemplateDeclChildren()
694 void visitTemplateTypeParmDeclAttrs(TemplateTypeParmDecl *D) { in visitTemplateTypeParmDeclAttrs()
695 setInteger("depth", D->getDepth()); in visitTemplateTypeParmDeclAttrs()
696 setInteger("index", D->getIndex()); in visitTemplateTypeParmDeclAttrs()
698 void visitTemplateTypeParmDeclChildren(TemplateTypeParmDecl *D) { in visitTemplateTypeParmDeclChildren()
699 if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited()) in visitTemplateTypeParmDeclChildren()
700 dispatch(D->getDefaultArgumentInfo()->getTypeLoc()); in visitTemplateTypeParmDeclChildren()
705 void visitNonTypeTemplateParmDeclAttrs(NonTypeTemplateParmDecl *D) { in visitNonTypeTemplateParmDeclAttrs()
706 setInteger("depth", D->getDepth()); in visitNonTypeTemplateParmDeclAttrs()
707 setInteger("index", D->getIndex()); in visitNonTypeTemplateParmDeclAttrs()
709 void visitNonTypeTemplateParmDeclChildren(NonTypeTemplateParmDecl *D) { in visitNonTypeTemplateParmDeclChildren()
710 if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited()) in visitNonTypeTemplateParmDeclChildren()
711 dispatch(D->getDefaultArgument()); in visitNonTypeTemplateParmDeclChildren()
716 void visitTemplateTemplateParmDeclAttrs(TemplateTemplateParmDecl *D) { in visitTemplateTemplateParmDeclAttrs()
717 setInteger("depth", D->getDepth()); in visitTemplateTemplateParmDeclAttrs()
718 setInteger("index", D->getIndex()); in visitTemplateTemplateParmDeclAttrs()
720 void visitTemplateTemplateParmDeclChildren(TemplateTemplateParmDecl *D) { in visitTemplateTemplateParmDeclChildren()
721 if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited()) in visitTemplateTemplateParmDeclChildren()
722 dispatch(D->getDefaultArgument()); in visitTemplateTemplateParmDeclChildren()
727 void visitFriendDeclChildren(FriendDecl *D) { in visitFriendDeclChildren()
728 if (TypeSourceInfo *T = D->getFriendType()) in visitFriendDeclChildren()
731 dispatch(D->getFriendDecl()); in visitFriendDeclChildren()
743 void visitObjCImplDeclChildren(ObjCImplDecl *D) { in visitObjCImplDeclChildren()
744 visitDeclRef(D->getClassInterface()); in visitObjCImplDeclChildren()
746 void visitObjCImplDeclAsContext(ObjCImplDecl *D) { in visitObjCImplDeclAsContext()
747 visitDeclContext(D); in visitObjCImplDeclAsContext()
751 void visitCategoryList(ObjCCategoryDecl *D) { in visitCategoryList()
752 if (!D) return; in visitCategoryList()
755 for (; D; D = D->getNextClassCategory()) in visitCategoryList()
756 visitDeclRef(D); in visitCategoryList()
758 void visitObjCInterfaceDeclAttrs(ObjCInterfaceDecl *D) { in visitObjCInterfaceDeclAttrs()
759 setPointer("typeptr", D->getTypeForDecl()); in visitObjCInterfaceDeclAttrs()
760 setFlag("forward_decl", !D->isThisDeclarationADefinition()); in visitObjCInterfaceDeclAttrs()
761 setFlag("implicit_interface", D->isImplicitInterfaceDecl()); in visitObjCInterfaceDeclAttrs()
763 void visitObjCInterfaceDeclChildren(ObjCInterfaceDecl *D) { in visitObjCInterfaceDeclChildren()
764 visitDeclRef("super", D->getSuperClass()); in visitObjCInterfaceDeclChildren()
765 visitDeclRef("implementation", D->getImplementation()); in visitObjCInterfaceDeclChildren()
766 if (D->protocol_begin() != D->protocol_end()) { in visitObjCInterfaceDeclChildren()
769 I = D->protocol_begin(), E = D->protocol_end(); I != E; ++I) in visitObjCInterfaceDeclChildren()
772 visitCategoryList(D->getCategoryList()); in visitObjCInterfaceDeclChildren()
774 void visitObjCInterfaceDeclAsContext(ObjCInterfaceDecl *D) { in visitObjCInterfaceDeclAsContext()
775 visitDeclContext(D); in visitObjCInterfaceDeclAsContext()
779 void visitObjCCategoryDeclAttrs(ObjCCategoryDecl *D) { in visitObjCCategoryDeclAttrs()
780 setFlag("extension", D->IsClassExtension()); in visitObjCCategoryDeclAttrs()
781 setFlag("synth_bitfield", D->hasSynthBitfield()); in visitObjCCategoryDeclAttrs()
783 void visitObjCCategoryDeclChildren(ObjCCategoryDecl *D) { in visitObjCCategoryDeclChildren()
784 visitDeclRef("interface", D->getClassInterface()); in visitObjCCategoryDeclChildren()
785 visitDeclRef("implementation", D->getImplementation()); in visitObjCCategoryDeclChildren()
786 if (D->protocol_begin() != D->protocol_end()) { in visitObjCCategoryDeclChildren()
789 I = D->protocol_begin(), E = D->protocol_end(); I != E; ++I) in visitObjCCategoryDeclChildren()
793 void visitObjCCategoryDeclAsContext(ObjCCategoryDecl *D) { in visitObjCCategoryDeclAsContext()
794 visitDeclContext(D); in visitObjCCategoryDeclAsContext()
798 void visitObjCCategoryImplDeclAttrs(ObjCCategoryImplDecl *D) { in visitObjCCategoryImplDeclAttrs()
799 set("identifier", D->getName()); in visitObjCCategoryImplDeclAttrs()
801 void visitObjCCategoryImplDeclChildren(ObjCCategoryImplDecl *D) { in visitObjCCategoryImplDeclChildren()
802 visitDeclRef(D->getCategoryDecl()); in visitObjCCategoryImplDeclChildren()
806 void visitObjCImplementationDeclAttrs(ObjCImplementationDecl *D) { in visitObjCImplementationDeclAttrs()
807 setFlag("synth_bitfield", D->hasSynthBitfield()); in visitObjCImplementationDeclAttrs()
808 set("identifier", D->getName()); in visitObjCImplementationDeclAttrs()
810 void visitObjCImplementationDeclChildren(ObjCImplementationDecl *D) { in visitObjCImplementationDeclChildren()
811 visitDeclRef("super", D->getSuperClass()); in visitObjCImplementationDeclChildren()
812 if (D->init_begin() != D->init_end()) { in visitObjCImplementationDeclChildren()
815 I = D->init_begin(), E = D->init_end(); I != E; ++I) in visitObjCImplementationDeclChildren()
821 void visitObjCProtocolDeclChildren(ObjCProtocolDecl *D) { in visitObjCProtocolDeclChildren()
822 if (!D->isThisDeclarationADefinition()) in visitObjCProtocolDeclChildren()
825 if (D->protocol_begin() != D->protocol_end()) { in visitObjCProtocolDeclChildren()
828 I = D->protocol_begin(), E = D->protocol_end(); I != E; ++I) in visitObjCProtocolDeclChildren()
832 void visitObjCProtocolDeclAsContext(ObjCProtocolDecl *D) { in visitObjCProtocolDeclAsContext()
833 if (!D->isThisDeclarationADefinition()) in visitObjCProtocolDeclAsContext()
836 visitDeclContext(D); in visitObjCProtocolDeclAsContext()
840 void visitObjCMethodDeclAttrs(ObjCMethodDecl *D) { in visitObjCMethodDeclAttrs()
844 setFlag("instance", D->isInstanceMethod()); in visitObjCMethodDeclAttrs()
845 setFlag("variadic", D->isVariadic()); in visitObjCMethodDeclAttrs()
846 setFlag("synthesized", D->isSynthesized()); in visitObjCMethodDeclAttrs()
847 setFlag("defined", D->isDefined()); in visitObjCMethodDeclAttrs()
848 setFlag("related_result_type", D->hasRelatedResultType()); in visitObjCMethodDeclAttrs()
850 void visitObjCMethodDeclChildren(ObjCMethodDecl *D) { in visitObjCMethodDeclChildren()
851 dispatch(D->getResultType()); in visitObjCMethodDeclChildren()
853 I = D->param_begin(), E = D->param_end(); I != E; ++I) in visitObjCMethodDeclChildren()
855 if (D->isThisDeclarationADefinition()) in visitObjCMethodDeclChildren()
856 dispatch(D->getBody()); in visitObjCMethodDeclChildren()
869 void visitObjCIvarDeclAttrs(ObjCIvarDecl *D) { in visitObjCIvarDeclAttrs()
870 setFlag("synthesize", D->getSynthesize()); in visitObjCIvarDeclAttrs()
871 setAccessControl("access", D->getAccessControl()); in visitObjCIvarDeclAttrs()
875 void visitObjCCompatibleAliasDeclChildren(ObjCCompatibleAliasDecl *D) { in visitObjCCompatibleAliasDeclChildren()
876 visitDeclRef(D->getClassInterface()); in visitObjCCompatibleAliasDeclChildren()
928 void visitTypeAttrs(Type *D) { in visitTypeAttrs()
929 setPointer(D); in visitTypeAttrs()
930 setFlag("dependent", D->isDependentType()); in visitTypeAttrs()
931 setFlag("variably_modified", D->isVariablyModifiedType()); in visitTypeAttrs()
933 setPointer("canonical", D->getCanonicalTypeInternal().getAsOpaquePtr()); in visitTypeAttrs()