Lines Matching refs:Node

112 void TextNodeDumper::Visit(const Stmt *Node) {  in Visit()  argument
113 if (!Node) { in Visit()
120 OS << Node->getStmtClassName(); in Visit()
122 dumpPointer(Node); in Visit()
123 dumpSourceRange(Node->getSourceRange()); in Visit()
125 if (const auto *E = dyn_cast<Expr>(Node)) { in Visit()
163 ConstStmtVisitor<TextNodeDumper>::Visit(Node); in Visit()
601 static void dumpBasePath(raw_ostream &OS, const CastExpr *Node) { in dumpBasePath() argument
602 if (Node->path_empty()) in dumpBasePath()
607 for (CastExpr::path_const_iterator I = Node->path_begin(), in dumpBasePath()
608 E = Node->path_end(); in dumpBasePath()
626 void TextNodeDumper::VisitIfStmt(const IfStmt *Node) { in VisitIfStmt() argument
627 if (Node->hasInitStorage()) in VisitIfStmt()
629 if (Node->hasVarStorage()) in VisitIfStmt()
631 if (Node->hasElseStorage()) in VisitIfStmt()
635 void TextNodeDumper::VisitSwitchStmt(const SwitchStmt *Node) { in VisitSwitchStmt() argument
636 if (Node->hasInitStorage()) in VisitSwitchStmt()
638 if (Node->hasVarStorage()) in VisitSwitchStmt()
642 void TextNodeDumper::VisitWhileStmt(const WhileStmt *Node) { in VisitWhileStmt() argument
643 if (Node->hasVarStorage()) in VisitWhileStmt()
647 void TextNodeDumper::VisitLabelStmt(const LabelStmt *Node) { in VisitLabelStmt() argument
648 OS << " '" << Node->getName() << "'"; in VisitLabelStmt()
651 void TextNodeDumper::VisitGotoStmt(const GotoStmt *Node) { in VisitGotoStmt() argument
652 OS << " '" << Node->getLabel()->getName() << "'"; in VisitGotoStmt()
653 dumpPointer(Node->getLabel()); in VisitGotoStmt()
656 void TextNodeDumper::VisitCaseStmt(const CaseStmt *Node) { in VisitCaseStmt() argument
657 if (Node->caseStmtIsGNURange()) in VisitCaseStmt()
661 void TextNodeDumper::VisitCallExpr(const CallExpr *Node) { in VisitCallExpr() argument
662 if (Node->usesADL()) in VisitCallExpr()
666 void TextNodeDumper::VisitCastExpr(const CastExpr *Node) { in VisitCastExpr() argument
670 OS << Node->getCastKindName(); in VisitCastExpr()
672 dumpBasePath(OS, Node); in VisitCastExpr()
676 void TextNodeDumper::VisitImplicitCastExpr(const ImplicitCastExpr *Node) { in VisitImplicitCastExpr() argument
677 VisitCastExpr(Node); in VisitImplicitCastExpr()
678 if (Node->isPartOfExplicitCast()) in VisitImplicitCastExpr()
682 void TextNodeDumper::VisitDeclRefExpr(const DeclRefExpr *Node) { in VisitDeclRefExpr() argument
684 dumpBareDeclRef(Node->getDecl()); in VisitDeclRefExpr()
685 if (Node->getDecl() != Node->getFoundDecl()) { in VisitDeclRefExpr()
687 dumpBareDeclRef(Node->getFoundDecl()); in VisitDeclRefExpr()
693 const UnresolvedLookupExpr *Node) { in VisitUnresolvedLookupExpr() argument
695 if (!Node->requiresADL()) in VisitUnresolvedLookupExpr()
697 OS << "ADL) = '" << Node->getName() << '\''; in VisitUnresolvedLookupExpr()
699 UnresolvedLookupExpr::decls_iterator I = Node->decls_begin(), in VisitUnresolvedLookupExpr()
700 E = Node->decls_end(); in VisitUnresolvedLookupExpr()
707 void TextNodeDumper::VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node) { in VisitObjCIvarRefExpr() argument
710 OS << " " << Node->getDecl()->getDeclKindName() << "Decl"; in VisitObjCIvarRefExpr()
712 OS << "='" << *Node->getDecl() << "'"; in VisitObjCIvarRefExpr()
713 dumpPointer(Node->getDecl()); in VisitObjCIvarRefExpr()
714 if (Node->isFreeIvar()) in VisitObjCIvarRefExpr()
718 void TextNodeDumper::VisitPredefinedExpr(const PredefinedExpr *Node) { in VisitPredefinedExpr() argument
719 OS << " " << PredefinedExpr::getIdentKindName(Node->getIdentKind()); in VisitPredefinedExpr()
722 void TextNodeDumper::VisitCharacterLiteral(const CharacterLiteral *Node) { in VisitCharacterLiteral() argument
724 OS << " " << Node->getValue(); in VisitCharacterLiteral()
727 void TextNodeDumper::VisitIntegerLiteral(const IntegerLiteral *Node) { in VisitIntegerLiteral() argument
728 bool isSigned = Node->getType()->isSignedIntegerType(); in VisitIntegerLiteral()
730 OS << " " << Node->getValue().toString(10, isSigned); in VisitIntegerLiteral()
733 void TextNodeDumper::VisitFixedPointLiteral(const FixedPointLiteral *Node) { in VisitFixedPointLiteral() argument
735 OS << " " << Node->getValueAsString(/*Radix=*/10); in VisitFixedPointLiteral()
738 void TextNodeDumper::VisitFloatingLiteral(const FloatingLiteral *Node) { in VisitFloatingLiteral() argument
740 OS << " " << Node->getValueAsApproximateDouble(); in VisitFloatingLiteral()
756 void TextNodeDumper::VisitUnaryOperator(const UnaryOperator *Node) { in VisitUnaryOperator() argument
757 OS << " " << (Node->isPostfix() ? "postfix" : "prefix") << " '" in VisitUnaryOperator()
758 << UnaryOperator::getOpcodeStr(Node->getOpcode()) << "'"; in VisitUnaryOperator()
759 if (!Node->canOverflow()) in VisitUnaryOperator()
764 const UnaryExprOrTypeTraitExpr *Node) { in VisitUnaryExprOrTypeTraitExpr() argument
765 switch (Node->getKind()) { in VisitUnaryExprOrTypeTraitExpr()
782 if (Node->isArgumentType()) in VisitUnaryExprOrTypeTraitExpr()
783 dumpType(Node->getArgumentType()); in VisitUnaryExprOrTypeTraitExpr()
786 void TextNodeDumper::VisitMemberExpr(const MemberExpr *Node) { in VisitMemberExpr() argument
787 OS << " " << (Node->isArrow() ? "->" : ".") << *Node->getMemberDecl(); in VisitMemberExpr()
788 dumpPointer(Node->getMemberDecl()); in VisitMemberExpr()
792 const ExtVectorElementExpr *Node) { in VisitExtVectorElementExpr() argument
793 OS << " " << Node->getAccessor().getNameStart(); in VisitExtVectorElementExpr()
796 void TextNodeDumper::VisitBinaryOperator(const BinaryOperator *Node) { in VisitBinaryOperator() argument
797 OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode()) << "'"; in VisitBinaryOperator()
801 const CompoundAssignOperator *Node) { in VisitCompoundAssignOperator() argument
802 OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode()) in VisitCompoundAssignOperator()
804 dumpBareType(Node->getComputationLHSType()); in VisitCompoundAssignOperator()
806 dumpBareType(Node->getComputationResultType()); in VisitCompoundAssignOperator()
809 void TextNodeDumper::VisitAddrLabelExpr(const AddrLabelExpr *Node) { in VisitAddrLabelExpr() argument
810 OS << " " << Node->getLabel()->getName(); in VisitAddrLabelExpr()
811 dumpPointer(Node->getLabel()); in VisitAddrLabelExpr()
814 void TextNodeDumper::VisitCXXNamedCastExpr(const CXXNamedCastExpr *Node) { in VisitCXXNamedCastExpr() argument
815 OS << " " << Node->getCastName() << "<" in VisitCXXNamedCastExpr()
816 << Node->getTypeAsWritten().getAsString() << ">" in VisitCXXNamedCastExpr()
817 << " <" << Node->getCastKindName(); in VisitCXXNamedCastExpr()
818 dumpBasePath(OS, Node); in VisitCXXNamedCastExpr()
822 void TextNodeDumper::VisitCXXBoolLiteralExpr(const CXXBoolLiteralExpr *Node) { in VisitCXXBoolLiteralExpr() argument
823 OS << " " << (Node->getValue() ? "true" : "false"); in VisitCXXBoolLiteralExpr()
826 void TextNodeDumper::VisitCXXThisExpr(const CXXThisExpr *Node) { in VisitCXXThisExpr() argument
831 const CXXFunctionalCastExpr *Node) { in VisitCXXFunctionalCastExpr() argument
832 OS << " functional cast to " << Node->getTypeAsWritten().getAsString() << " <" in VisitCXXFunctionalCastExpr()
833 << Node->getCastKindName() << ">"; in VisitCXXFunctionalCastExpr()
837 const CXXUnresolvedConstructExpr *Node) { in VisitCXXUnresolvedConstructExpr() argument
838 dumpType(Node->getTypeAsWritten()); in VisitCXXUnresolvedConstructExpr()
839 if (Node->isListInitialization()) in VisitCXXUnresolvedConstructExpr()
843 void TextNodeDumper::VisitCXXConstructExpr(const CXXConstructExpr *Node) { in VisitCXXConstructExpr() argument
844 CXXConstructorDecl *Ctor = Node->getConstructor(); in VisitCXXConstructExpr()
846 if (Node->isElidable()) in VisitCXXConstructExpr()
848 if (Node->isListInitialization()) in VisitCXXConstructExpr()
850 if (Node->isStdInitListInitialization()) in VisitCXXConstructExpr()
852 if (Node->requiresZeroInitialization()) in VisitCXXConstructExpr()
857 const CXXBindTemporaryExpr *Node) { in VisitCXXBindTemporaryExpr() argument
859 dumpCXXTemporary(Node->getTemporary()); in VisitCXXBindTemporaryExpr()
862 void TextNodeDumper::VisitCXXNewExpr(const CXXNewExpr *Node) { in VisitCXXNewExpr() argument
863 if (Node->isGlobalNew()) in VisitCXXNewExpr()
865 if (Node->isArray()) in VisitCXXNewExpr()
867 if (Node->getOperatorNew()) { in VisitCXXNewExpr()
869 dumpBareDeclRef(Node->getOperatorNew()); in VisitCXXNewExpr()
875 void TextNodeDumper::VisitCXXDeleteExpr(const CXXDeleteExpr *Node) { in VisitCXXDeleteExpr() argument
876 if (Node->isGlobalDelete()) in VisitCXXDeleteExpr()
878 if (Node->isArrayForm()) in VisitCXXDeleteExpr()
880 if (Node->getOperatorDelete()) { in VisitCXXDeleteExpr()
882 dumpBareDeclRef(Node->getOperatorDelete()); in VisitCXXDeleteExpr()
887 const MaterializeTemporaryExpr *Node) { in VisitMaterializeTemporaryExpr() argument
888 if (const ValueDecl *VD = Node->getExtendingDecl()) { in VisitMaterializeTemporaryExpr()
894 void TextNodeDumper::VisitExprWithCleanups(const ExprWithCleanups *Node) { in VisitExprWithCleanups() argument
895 for (unsigned i = 0, e = Node->getNumObjects(); i != e; ++i) in VisitExprWithCleanups()
896 dumpDeclRef(Node->getObject(i), "cleanup"); in VisitExprWithCleanups()
899 void TextNodeDumper::VisitSizeOfPackExpr(const SizeOfPackExpr *Node) { in VisitSizeOfPackExpr() argument
900 dumpPointer(Node->getPack()); in VisitSizeOfPackExpr()
901 dumpName(Node->getPack()); in VisitSizeOfPackExpr()
905 const CXXDependentScopeMemberExpr *Node) { in VisitCXXDependentScopeMemberExpr() argument
906 OS << " " << (Node->isArrow() ? "->" : ".") << Node->getMember(); in VisitCXXDependentScopeMemberExpr()
909 void TextNodeDumper::VisitObjCMessageExpr(const ObjCMessageExpr *Node) { in VisitObjCMessageExpr() argument
911 Node->getSelector().print(OS); in VisitObjCMessageExpr()
912 switch (Node->getReceiverKind()) { in VisitObjCMessageExpr()
918 dumpBareType(Node->getClassReceiver()); in VisitObjCMessageExpr()
931 void TextNodeDumper::VisitObjCBoxedExpr(const ObjCBoxedExpr *Node) { in VisitObjCBoxedExpr() argument
932 if (auto *BoxingMethod = Node->getBoxingMethod()) { in VisitObjCBoxedExpr()
938 void TextNodeDumper::VisitObjCAtCatchStmt(const ObjCAtCatchStmt *Node) { in VisitObjCAtCatchStmt() argument
939 if (!Node->getCatchParamDecl()) in VisitObjCAtCatchStmt()
943 void TextNodeDumper::VisitObjCEncodeExpr(const ObjCEncodeExpr *Node) { in VisitObjCEncodeExpr() argument
944 dumpType(Node->getEncodedType()); in VisitObjCEncodeExpr()
947 void TextNodeDumper::VisitObjCSelectorExpr(const ObjCSelectorExpr *Node) { in VisitObjCSelectorExpr() argument
949 Node->getSelector().print(OS); in VisitObjCSelectorExpr()
952 void TextNodeDumper::VisitObjCProtocolExpr(const ObjCProtocolExpr *Node) { in VisitObjCProtocolExpr() argument
953 OS << ' ' << *Node->getProtocol(); in VisitObjCProtocolExpr()
956 void TextNodeDumper::VisitObjCPropertyRefExpr(const ObjCPropertyRefExpr *Node) { in VisitObjCPropertyRefExpr() argument
957 if (Node->isImplicitProperty()) { in VisitObjCPropertyRefExpr()
959 if (Node->getImplicitPropertyGetter()) in VisitObjCPropertyRefExpr()
960 Node->getImplicitPropertyGetter()->getSelector().print(OS); in VisitObjCPropertyRefExpr()
965 if (ObjCMethodDecl *Setter = Node->getImplicitPropertySetter()) in VisitObjCPropertyRefExpr()
971 OS << " Kind=PropertyRef Property=\"" << *Node->getExplicitProperty() in VisitObjCPropertyRefExpr()
975 if (Node->isSuperReceiver()) in VisitObjCPropertyRefExpr()
979 if (Node->isMessagingGetter() && Node->isMessagingSetter()) in VisitObjCPropertyRefExpr()
981 else if (Node->isMessagingGetter()) in VisitObjCPropertyRefExpr()
983 else if (Node->isMessagingSetter()) in VisitObjCPropertyRefExpr()
988 const ObjCSubscriptRefExpr *Node) { in VisitObjCSubscriptRefExpr() argument
989 if (Node->isArraySubscriptRefExpr()) in VisitObjCSubscriptRefExpr()
993 if (Node->getAtIndexMethodDecl()) in VisitObjCSubscriptRefExpr()
994 Node->getAtIndexMethodDecl()->getSelector().print(OS); in VisitObjCSubscriptRefExpr()
998 if (Node->isArraySubscriptRefExpr()) in VisitObjCSubscriptRefExpr()
1002 if (Node->setAtIndexMethodDecl()) in VisitObjCSubscriptRefExpr()
1003 Node->setAtIndexMethodDecl()->getSelector().print(OS); in VisitObjCSubscriptRefExpr()
1008 void TextNodeDumper::VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node) { in VisitObjCBoolLiteralExpr() argument
1009 OS << " " << (Node->getValue() ? "__objc_yes" : "__objc_no"); in VisitObjCBoolLiteralExpr()