Lines Matching refs:E

266   for (auto E = Record.size(); Record.getIdx() != E; ) {  in VisitSwitchStmt()  local
481 void ASTStmtReader::VisitCoawaitExpr(CoawaitExpr *E) { in VisitCoawaitExpr() argument
482 VisitExpr(E); in VisitCoawaitExpr()
483 E->KeywordLoc = readSourceLocation(); in VisitCoawaitExpr()
484 for (auto &SubExpr: E->SubExprs) in VisitCoawaitExpr()
486 E->OpaqueValue = cast_or_null<OpaqueValueExpr>(Record.readSubStmt()); in VisitCoawaitExpr()
487 E->setIsImplicit(Record.readInt() != 0); in VisitCoawaitExpr()
490 void ASTStmtReader::VisitCoyieldExpr(CoyieldExpr *E) { in VisitCoyieldExpr() argument
491 VisitExpr(E); in VisitCoyieldExpr()
492 E->KeywordLoc = readSourceLocation(); in VisitCoyieldExpr()
493 for (auto &SubExpr: E->SubExprs) in VisitCoyieldExpr()
495 E->OpaqueValue = cast_or_null<OpaqueValueExpr>(Record.readSubStmt()); in VisitCoyieldExpr()
498 void ASTStmtReader::VisitDependentCoawaitExpr(DependentCoawaitExpr *E) { in VisitDependentCoawaitExpr() argument
499 VisitExpr(E); in VisitDependentCoawaitExpr()
500 E->KeywordLoc = readSourceLocation(); in VisitDependentCoawaitExpr()
501 for (auto &SubExpr: E->SubExprs) in VisitDependentCoawaitExpr()
514 E = S->capture_init_end(); in VisitCapturedStmt() local
515 I != E; ++I) in VisitCapturedStmt()
531 void ASTStmtReader::VisitExpr(Expr *E) { in VisitExpr() argument
532 VisitStmt(E); in VisitExpr()
534 E->setDependence(static_cast<ExprDependence>( in VisitExpr()
536 E->setValueKind(static_cast<ExprValueKind>( in VisitExpr()
538 E->setObjectKind(static_cast<ExprObjectKind>( in VisitExpr()
541 E->setType(Record.readType()); in VisitExpr()
546 void ASTStmtReader::VisitConstantExpr(ConstantExpr *E) { in VisitConstantExpr() argument
547 VisitExpr(E); in VisitConstantExpr()
550 assert(E->getResultStorageKind() == StorageKind && "Wrong ResultKind!"); in VisitConstantExpr()
552 E->ConstantExprBits.APValueKind = Record.readInt(); in VisitConstantExpr()
553 E->ConstantExprBits.IsUnsigned = Record.readInt(); in VisitConstantExpr()
554 E->ConstantExprBits.BitWidth = Record.readInt(); in VisitConstantExpr()
555 E->ConstantExprBits.HasCleanup = false; // Not serialized, see below. in VisitConstantExpr()
556 E->ConstantExprBits.IsImmediateInvocation = Record.readInt(); in VisitConstantExpr()
563 E->Int64Result() = Record.readInt(); in VisitConstantExpr()
567 E->APValueResult() = Record.readAPValue(); in VisitConstantExpr()
568 if (E->APValueResult().needsCleanup()) { in VisitConstantExpr()
569 E->ConstantExprBits.HasCleanup = true; in VisitConstantExpr()
570 Record.getContext().addDestruction(&E->APValueResult()); in VisitConstantExpr()
575 E->setSubExpr(Record.readSubExpr()); in VisitConstantExpr()
578 void ASTStmtReader::VisitSYCLUniqueStableNameExpr(SYCLUniqueStableNameExpr *E) { in VisitSYCLUniqueStableNameExpr() argument
579 VisitExpr(E); in VisitSYCLUniqueStableNameExpr()
581 E->setLocation(readSourceLocation()); in VisitSYCLUniqueStableNameExpr()
582 E->setLParenLocation(readSourceLocation()); in VisitSYCLUniqueStableNameExpr()
583 E->setRParenLocation(readSourceLocation()); in VisitSYCLUniqueStableNameExpr()
585 E->setTypeSourceInfo(Record.readTypeSourceInfo()); in VisitSYCLUniqueStableNameExpr()
588 void ASTStmtReader::VisitPredefinedExpr(PredefinedExpr *E) { in VisitPredefinedExpr() argument
589 VisitExpr(E); in VisitPredefinedExpr()
591 E->PredefinedExprBits.HasFunctionName = HasFunctionName; in VisitPredefinedExpr()
592 E->PredefinedExprBits.Kind = Record.readInt(); in VisitPredefinedExpr()
593 E->PredefinedExprBits.IsTransparent = Record.readInt(); in VisitPredefinedExpr()
594 E->setLocation(readSourceLocation()); in VisitPredefinedExpr()
596 E->setFunctionName(cast<StringLiteral>(Record.readSubExpr())); in VisitPredefinedExpr()
599 void ASTStmtReader::VisitDeclRefExpr(DeclRefExpr *E) { in VisitDeclRefExpr() argument
600 VisitExpr(E); in VisitDeclRefExpr()
603 E->DeclRefExprBits.HadMultipleCandidates = CurrentUnpackingBits->getNextBit(); in VisitDeclRefExpr()
604 E->DeclRefExprBits.RefersToEnclosingVariableOrCapture = in VisitDeclRefExpr()
606 E->DeclRefExprBits.NonOdrUseReason = in VisitDeclRefExpr()
608 E->DeclRefExprBits.IsImmediateEscalating = CurrentUnpackingBits->getNextBit(); in VisitDeclRefExpr()
609 E->DeclRefExprBits.HasFoundDecl = CurrentUnpackingBits->getNextBit(); in VisitDeclRefExpr()
610 E->DeclRefExprBits.HasQualifier = CurrentUnpackingBits->getNextBit(); in VisitDeclRefExpr()
611 E->DeclRefExprBits.HasTemplateKWAndArgsInfo = in VisitDeclRefExpr()
613 E->DeclRefExprBits.CapturedByCopyInLambdaWithExplicitObjectParameter = false; in VisitDeclRefExpr()
615 if (E->hasTemplateKWAndArgsInfo()) in VisitDeclRefExpr()
618 if (E->hasQualifier()) in VisitDeclRefExpr()
619 new (E->getTrailingObjects<NestedNameSpecifierLoc>()) in VisitDeclRefExpr()
622 if (E->hasFoundDecl()) in VisitDeclRefExpr()
623 *E->getTrailingObjects<NamedDecl *>() = readDeclAs<NamedDecl>(); in VisitDeclRefExpr()
625 if (E->hasTemplateKWAndArgsInfo()) in VisitDeclRefExpr()
627 *E->getTrailingObjects<ASTTemplateKWAndArgsInfo>(), in VisitDeclRefExpr()
628 E->getTrailingObjects<TemplateArgumentLoc>(), NumTemplateArgs); in VisitDeclRefExpr()
630 E->D = readDeclAs<ValueDecl>(); in VisitDeclRefExpr()
631 E->setLocation(readSourceLocation()); in VisitDeclRefExpr()
632 E->DNLoc = Record.readDeclarationNameLoc(E->getDecl()->getDeclName()); in VisitDeclRefExpr()
635 void ASTStmtReader::VisitIntegerLiteral(IntegerLiteral *E) { in VisitIntegerLiteral() argument
636 VisitExpr(E); in VisitIntegerLiteral()
637 E->setLocation(readSourceLocation()); in VisitIntegerLiteral()
638 E->setValue(Record.getContext(), Record.readAPInt()); in VisitIntegerLiteral()
641 void ASTStmtReader::VisitFixedPointLiteral(FixedPointLiteral *E) { in VisitFixedPointLiteral() argument
642 VisitExpr(E); in VisitFixedPointLiteral()
643 E->setLocation(readSourceLocation()); in VisitFixedPointLiteral()
644 E->setScale(Record.readInt()); in VisitFixedPointLiteral()
645 E->setValue(Record.getContext(), Record.readAPInt()); in VisitFixedPointLiteral()
648 void ASTStmtReader::VisitFloatingLiteral(FloatingLiteral *E) { in VisitFloatingLiteral() argument
649 VisitExpr(E); in VisitFloatingLiteral()
650 E->setRawSemantics( in VisitFloatingLiteral()
652 E->setExact(Record.readInt()); in VisitFloatingLiteral()
653 E->setValue(Record.getContext(), Record.readAPFloat(E->getSemantics())); in VisitFloatingLiteral()
654 E->setLocation(readSourceLocation()); in VisitFloatingLiteral()
657 void ASTStmtReader::VisitImaginaryLiteral(ImaginaryLiteral *E) { in VisitImaginaryLiteral() argument
658 VisitExpr(E); in VisitImaginaryLiteral()
659 E->setSubExpr(Record.readSubExpr()); in VisitImaginaryLiteral()
662 void ASTStmtReader::VisitStringLiteral(StringLiteral *E) { in VisitStringLiteral() argument
663 VisitExpr(E); in VisitStringLiteral()
670 assert((NumConcatenated == E->getNumConcatenated()) && in VisitStringLiteral()
672 assert((Length == E->getLength()) && "Wrong Length!"); in VisitStringLiteral()
673 assert((CharByteWidth == E->getCharByteWidth()) && "Wrong character width!"); in VisitStringLiteral()
674 E->StringLiteralBits.Kind = Record.readInt(); in VisitStringLiteral()
675 E->StringLiteralBits.IsPascal = Record.readInt(); in VisitStringLiteral()
682 E->getKind())) && in VisitStringLiteral()
687 E->setStrTokenLoc(I, readSourceLocation()); in VisitStringLiteral()
690 char *StrData = E->getStrDataAsChar(); in VisitStringLiteral()
695 void ASTStmtReader::VisitCharacterLiteral(CharacterLiteral *E) { in VisitCharacterLiteral() argument
696 VisitExpr(E); in VisitCharacterLiteral()
697 E->setValue(Record.readInt()); in VisitCharacterLiteral()
698 E->setLocation(readSourceLocation()); in VisitCharacterLiteral()
699 E->setKind(static_cast<CharacterLiteralKind>(Record.readInt())); in VisitCharacterLiteral()
702 void ASTStmtReader::VisitParenExpr(ParenExpr *E) { in VisitParenExpr() argument
703 VisitExpr(E); in VisitParenExpr()
704 E->setLParen(readSourceLocation()); in VisitParenExpr()
705 E->setRParen(readSourceLocation()); in VisitParenExpr()
706 E->setSubExpr(Record.readSubExpr()); in VisitParenExpr()
709 void ASTStmtReader::VisitParenListExpr(ParenListExpr *E) { in VisitParenListExpr() argument
710 VisitExpr(E); in VisitParenListExpr()
712 assert((NumExprs == E->getNumExprs()) && "Wrong NumExprs!"); in VisitParenListExpr()
714 E->getTrailingObjects<Stmt *>()[I] = Record.readSubStmt(); in VisitParenListExpr()
715 E->LParenLoc = readSourceLocation(); in VisitParenListExpr()
716 E->RParenLoc = readSourceLocation(); in VisitParenListExpr()
719 void ASTStmtReader::VisitUnaryOperator(UnaryOperator *E) { in VisitUnaryOperator() argument
720 VisitExpr(E); in VisitUnaryOperator()
722 assert(hasFP_Features == E->hasStoredFPFeatures()); in VisitUnaryOperator()
723 E->setSubExpr(Record.readSubExpr()); in VisitUnaryOperator()
724 E->setOpcode( in VisitUnaryOperator()
726 E->setOperatorLoc(readSourceLocation()); in VisitUnaryOperator()
727 E->setCanOverflow(CurrentUnpackingBits->getNextBit()); in VisitUnaryOperator()
729 E->setStoredFPFeatures( in VisitUnaryOperator()
733 void ASTStmtReader::VisitOffsetOfExpr(OffsetOfExpr *E) { in VisitOffsetOfExpr() argument
734 VisitExpr(E); in VisitOffsetOfExpr()
735 assert(E->getNumComponents() == Record.peekInt()); in VisitOffsetOfExpr()
737 assert(E->getNumExpressions() == Record.peekInt()); in VisitOffsetOfExpr()
739 E->setOperatorLoc(readSourceLocation()); in VisitOffsetOfExpr()
740 E->setRParenLoc(readSourceLocation()); in VisitOffsetOfExpr()
741 E->setTypeSourceInfo(readTypeSourceInfo()); in VisitOffsetOfExpr()
742 for (unsigned I = 0, N = E->getNumComponents(); I != N; ++I) { in VisitOffsetOfExpr()
748 E->setComponent(I, OffsetOfNode(Start, Record.readInt(), End)); in VisitOffsetOfExpr()
752 E->setComponent( in VisitOffsetOfExpr()
757 E->setComponent( in VisitOffsetOfExpr()
765 E->setComponent(I, OffsetOfNode(Base)); in VisitOffsetOfExpr()
771 for (unsigned I = 0, N = E->getNumExpressions(); I != N; ++I) in VisitOffsetOfExpr()
772 E->setIndexExpr(I, Record.readSubExpr()); in VisitOffsetOfExpr()
775 void ASTStmtReader::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *E) { in VisitUnaryExprOrTypeTraitExpr() argument
776 VisitExpr(E); in VisitUnaryExprOrTypeTraitExpr()
777 E->setKind(static_cast<UnaryExprOrTypeTrait>(Record.readInt())); in VisitUnaryExprOrTypeTraitExpr()
779 E->setArgument(Record.readSubExpr()); in VisitUnaryExprOrTypeTraitExpr()
782 E->setArgument(readTypeSourceInfo()); in VisitUnaryExprOrTypeTraitExpr()
784 E->setOperatorLoc(readSourceLocation()); in VisitUnaryExprOrTypeTraitExpr()
785 E->setRParenLoc(readSourceLocation()); in VisitUnaryExprOrTypeTraitExpr()
812 ConceptSpecializationExpr *E) { in VisitConceptSpecializationExpr() argument
813 VisitExpr(E); in VisitConceptSpecializationExpr()
814 E->SpecDecl = Record.readDeclAs<ImplicitConceptSpecializationDecl>(); in VisitConceptSpecializationExpr()
816 E->ConceptRef = Record.readConceptReference(); in VisitConceptSpecializationExpr()
817 E->Satisfaction = E->isValueDependent() ? nullptr : in VisitConceptSpecializationExpr()
834 void ASTStmtReader::VisitRequiresExpr(RequiresExpr *E) { in VisitRequiresExpr() argument
835 VisitExpr(E); in VisitRequiresExpr()
838 E->RequiresExprBits.RequiresKWLoc = Record.readSourceLocation(); in VisitRequiresExpr()
839 E->RequiresExprBits.IsSatisfied = Record.readInt(); in VisitRequiresExpr()
840 E->Body = Record.readDeclAs<RequiresExprBodyDecl>(); in VisitRequiresExpr()
845 E->getTrailingObjects<ParmVarDecl *>()); in VisitRequiresExpr()
869 Expr *> E; in VisitRequiresExpr() local
871 E = readSubstitutionDiagnostic(Record); in VisitRequiresExpr()
873 E = Record.readExpr(); in VisitRequiresExpr()
902 if (Expr *Ex = E.dyn_cast<Expr *>()) in VisitRequiresExpr()
908 E.get<concepts::Requirement::SubstitutionDiagnostic *>(), in VisitRequiresExpr()
922 Expr *E = Record.readExpr(); in VisitRequiresExpr() local
923 if (E->isInstantiationDependent()) in VisitRequiresExpr()
924 R = new (C) concepts::NestedRequirement(E); in VisitRequiresExpr()
927 C, E, readConstraintSatisfaction(Record)); in VisitRequiresExpr()
935 E->getTrailingObjects<concepts::Requirement *>()); in VisitRequiresExpr()
936 E->LParenLoc = Record.readSourceLocation(); in VisitRequiresExpr()
937 E->RParenLoc = Record.readSourceLocation(); in VisitRequiresExpr()
938 E->RBraceLoc = Record.readSourceLocation(); in VisitRequiresExpr()
941 void ASTStmtReader::VisitArraySubscriptExpr(ArraySubscriptExpr *E) { in VisitArraySubscriptExpr() argument
942 VisitExpr(E); in VisitArraySubscriptExpr()
943 E->setLHS(Record.readSubExpr()); in VisitArraySubscriptExpr()
944 E->setRHS(Record.readSubExpr()); in VisitArraySubscriptExpr()
945 E->setRBracketLoc(readSourceLocation()); in VisitArraySubscriptExpr()
948 void ASTStmtReader::VisitMatrixSubscriptExpr(MatrixSubscriptExpr *E) { in VisitMatrixSubscriptExpr() argument
949 VisitExpr(E); in VisitMatrixSubscriptExpr()
950 E->setBase(Record.readSubExpr()); in VisitMatrixSubscriptExpr()
951 E->setRowIdx(Record.readSubExpr()); in VisitMatrixSubscriptExpr()
952 E->setColumnIdx(Record.readSubExpr()); in VisitMatrixSubscriptExpr()
953 E->setRBracketLoc(readSourceLocation()); in VisitMatrixSubscriptExpr()
956 void ASTStmtReader::VisitArraySectionExpr(ArraySectionExpr *E) { in VisitArraySectionExpr() argument
957 VisitExpr(E); in VisitArraySectionExpr()
958 E->ASType = Record.readEnum<ArraySectionExpr::ArraySectionType>(); in VisitArraySectionExpr()
960 E->setBase(Record.readSubExpr()); in VisitArraySectionExpr()
961 E->setLowerBound(Record.readSubExpr()); in VisitArraySectionExpr()
962 E->setLength(Record.readSubExpr()); in VisitArraySectionExpr()
964 if (E->isOMPArraySection()) in VisitArraySectionExpr()
965 E->setStride(Record.readSubExpr()); in VisitArraySectionExpr()
967 E->setColonLocFirst(readSourceLocation()); in VisitArraySectionExpr()
969 if (E->isOMPArraySection()) in VisitArraySectionExpr()
970 E->setColonLocSecond(readSourceLocation()); in VisitArraySectionExpr()
972 E->setRBracketLoc(readSourceLocation()); in VisitArraySectionExpr()
975 void ASTStmtReader::VisitOMPArrayShapingExpr(OMPArrayShapingExpr *E) { in VisitOMPArrayShapingExpr() argument
976 VisitExpr(E); in VisitOMPArrayShapingExpr()
978 E->setBase(Record.readSubExpr()); in VisitOMPArrayShapingExpr()
982 E->setDimensions(Dims); in VisitOMPArrayShapingExpr()
986 E->setBracketsRanges(SRs); in VisitOMPArrayShapingExpr()
987 E->setLParenLoc(readSourceLocation()); in VisitOMPArrayShapingExpr()
988 E->setRParenLoc(readSourceLocation()); in VisitOMPArrayShapingExpr()
991 void ASTStmtReader::VisitOMPIteratorExpr(OMPIteratorExpr *E) { in VisitOMPIteratorExpr() argument
992 VisitExpr(E); in VisitOMPIteratorExpr()
994 E->setIteratorKwLoc(readSourceLocation()); in VisitOMPIteratorExpr()
995 E->setLParenLoc(readSourceLocation()); in VisitOMPIteratorExpr()
996 E->setRParenLoc(readSourceLocation()); in VisitOMPIteratorExpr()
998 E->setIteratorDeclaration(I, Record.readDeclRef()); in VisitOMPIteratorExpr()
999 E->setAssignmentLoc(I, readSourceLocation()); in VisitOMPIteratorExpr()
1007 E->setIteratorRange(I, Begin, ColonLoc, End, SecColonLoc, Step); in VisitOMPIteratorExpr()
1014 E->setHelper(I, HD); in VisitOMPIteratorExpr()
1018 void ASTStmtReader::VisitCallExpr(CallExpr *E) { in VisitCallExpr() argument
1019 VisitExpr(E); in VisitCallExpr()
1023 E->setADLCallKind( in VisitCallExpr()
1026 assert((NumArgs == E->getNumArgs()) && "Wrong NumArgs!"); in VisitCallExpr()
1027 E->setRParenLoc(readSourceLocation()); in VisitCallExpr()
1028 E->setCallee(Record.readSubExpr()); in VisitCallExpr()
1030 E->setArg(I, Record.readSubExpr()); in VisitCallExpr()
1033 E->setStoredFPFeatures( in VisitCallExpr()
1037 void ASTStmtReader::VisitCXXMemberCallExpr(CXXMemberCallExpr *E) { in VisitCXXMemberCallExpr() argument
1038 VisitCallExpr(E); in VisitCXXMemberCallExpr()
1041 void ASTStmtReader::VisitMemberExpr(MemberExpr *E) { in VisitMemberExpr() argument
1042 VisitExpr(E); in VisitMemberExpr()
1050 E->Base = Record.readSubExpr(); in VisitMemberExpr()
1051 E->MemberDecl = Record.readDeclAs<ValueDecl>(); in VisitMemberExpr()
1052 E->MemberDNLoc = Record.readDeclarationNameLoc(E->MemberDecl->getDeclName()); in VisitMemberExpr()
1053 E->MemberLoc = Record.readSourceLocation(); in VisitMemberExpr()
1054 E->MemberExprBits.IsArrow = CurrentUnpackingBits->getNextBit(); in VisitMemberExpr()
1055 E->MemberExprBits.HasQualifier = HasQualifier; in VisitMemberExpr()
1056 E->MemberExprBits.HasFoundDecl = HasFoundDecl; in VisitMemberExpr()
1057 E->MemberExprBits.HasTemplateKWAndArgsInfo = HasTemplateInfo; in VisitMemberExpr()
1058 E->MemberExprBits.HadMultipleCandidates = CurrentUnpackingBits->getNextBit(); in VisitMemberExpr()
1059 E->MemberExprBits.NonOdrUseReason = in VisitMemberExpr()
1061 E->MemberExprBits.OperatorLoc = Record.readSourceLocation(); in VisitMemberExpr()
1064 new (E->getTrailingObjects<NestedNameSpecifierLoc>()) in VisitMemberExpr()
1070 *E->getTrailingObjects<DeclAccessPair>() = DeclAccessPair::make(FoundD, AS); in VisitMemberExpr()
1075 *E->getTrailingObjects<ASTTemplateKWAndArgsInfo>(), in VisitMemberExpr()
1076 E->getTrailingObjects<TemplateArgumentLoc>(), NumTemplateArgs); in VisitMemberExpr()
1079 void ASTStmtReader::VisitObjCIsaExpr(ObjCIsaExpr *E) { in VisitObjCIsaExpr() argument
1080 VisitExpr(E); in VisitObjCIsaExpr()
1081 E->setBase(Record.readSubExpr()); in VisitObjCIsaExpr()
1082 E->setIsaMemberLoc(readSourceLocation()); in VisitObjCIsaExpr()
1083 E->setOpLoc(readSourceLocation()); in VisitObjCIsaExpr()
1084 E->setArrow(Record.readInt()); in VisitObjCIsaExpr()
1088 VisitObjCIndirectCopyRestoreExpr(ObjCIndirectCopyRestoreExpr *E) { in VisitObjCIndirectCopyRestoreExpr() argument
1089 VisitExpr(E); in VisitObjCIndirectCopyRestoreExpr()
1090 E->Operand = Record.readSubExpr(); in VisitObjCIndirectCopyRestoreExpr()
1091 E->setShouldCopy(Record.readInt()); in VisitObjCIndirectCopyRestoreExpr()
1094 void ASTStmtReader::VisitObjCBridgedCastExpr(ObjCBridgedCastExpr *E) { in VisitObjCBridgedCastExpr() argument
1095 VisitExplicitCastExpr(E); in VisitObjCBridgedCastExpr()
1096 E->LParenLoc = readSourceLocation(); in VisitObjCBridgedCastExpr()
1097 E->BridgeKeywordLoc = readSourceLocation(); in VisitObjCBridgedCastExpr()
1098 E->Kind = Record.readInt(); in VisitObjCBridgedCastExpr()
1101 void ASTStmtReader::VisitCastExpr(CastExpr *E) { in VisitCastExpr() argument
1102 VisitExpr(E); in VisitCastExpr()
1104 assert(NumBaseSpecs == E->path_size()); in VisitCastExpr()
1107 E->setCastKind((CastKind)CurrentUnpackingBits->getNextBits(/*Width=*/7)); in VisitCastExpr()
1109 assert(E->hasStoredFPFeatures() == HasFPFeatures); in VisitCastExpr()
1111 E->setSubExpr(Record.readSubExpr()); in VisitCastExpr()
1113 CastExpr::path_iterator BaseI = E->path_begin(); in VisitCastExpr()
1120 *E->getTrailingFPFeatures() = in VisitCastExpr()
1124 void ASTStmtReader::VisitBinaryOperator(BinaryOperator *E) { in VisitBinaryOperator() argument
1125 VisitExpr(E); in VisitBinaryOperator()
1127 E->setOpcode( in VisitBinaryOperator()
1130 E->setHasStoredFPFeatures(hasFP_Features); in VisitBinaryOperator()
1131 E->setLHS(Record.readSubExpr()); in VisitBinaryOperator()
1132 E->setRHS(Record.readSubExpr()); in VisitBinaryOperator()
1133 E->setOperatorLoc(readSourceLocation()); in VisitBinaryOperator()
1135 E->setStoredFPFeatures( in VisitBinaryOperator()
1139 void ASTStmtReader::VisitCompoundAssignOperator(CompoundAssignOperator *E) { in VisitCompoundAssignOperator() argument
1140 VisitBinaryOperator(E); in VisitCompoundAssignOperator()
1141 E->setComputationLHSType(Record.readType()); in VisitCompoundAssignOperator()
1142 E->setComputationResultType(Record.readType()); in VisitCompoundAssignOperator()
1145 void ASTStmtReader::VisitConditionalOperator(ConditionalOperator *E) { in VisitConditionalOperator() argument
1146 VisitExpr(E); in VisitConditionalOperator()
1147 E->SubExprs[ConditionalOperator::COND] = Record.readSubExpr(); in VisitConditionalOperator()
1148 E->SubExprs[ConditionalOperator::LHS] = Record.readSubExpr(); in VisitConditionalOperator()
1149 E->SubExprs[ConditionalOperator::RHS] = Record.readSubExpr(); in VisitConditionalOperator()
1150 E->QuestionLoc = readSourceLocation(); in VisitConditionalOperator()
1151 E->ColonLoc = readSourceLocation(); in VisitConditionalOperator()
1155 ASTStmtReader::VisitBinaryConditionalOperator(BinaryConditionalOperator *E) { in VisitBinaryConditionalOperator() argument
1156 VisitExpr(E); in VisitBinaryConditionalOperator()
1157 E->OpaqueValue = cast<OpaqueValueExpr>(Record.readSubExpr()); in VisitBinaryConditionalOperator()
1158 E->SubExprs[BinaryConditionalOperator::COMMON] = Record.readSubExpr(); in VisitBinaryConditionalOperator()
1159 E->SubExprs[BinaryConditionalOperator::COND] = Record.readSubExpr(); in VisitBinaryConditionalOperator()
1160 E->SubExprs[BinaryConditionalOperator::LHS] = Record.readSubExpr(); in VisitBinaryConditionalOperator()
1161 E->SubExprs[BinaryConditionalOperator::RHS] = Record.readSubExpr(); in VisitBinaryConditionalOperator()
1162 E->QuestionLoc = readSourceLocation(); in VisitBinaryConditionalOperator()
1163 E->ColonLoc = readSourceLocation(); in VisitBinaryConditionalOperator()
1166 void ASTStmtReader::VisitImplicitCastExpr(ImplicitCastExpr *E) { in VisitImplicitCastExpr() argument
1167 VisitCastExpr(E); in VisitImplicitCastExpr()
1168 E->setIsPartOfExplicitCast(CurrentUnpackingBits->getNextBit()); in VisitImplicitCastExpr()
1171 void ASTStmtReader::VisitExplicitCastExpr(ExplicitCastExpr *E) { in VisitExplicitCastExpr() argument
1172 VisitCastExpr(E); in VisitExplicitCastExpr()
1173 E->setTypeInfoAsWritten(readTypeSourceInfo()); in VisitExplicitCastExpr()
1176 void ASTStmtReader::VisitCStyleCastExpr(CStyleCastExpr *E) { in VisitCStyleCastExpr() argument
1177 VisitExplicitCastExpr(E); in VisitCStyleCastExpr()
1178 E->setLParenLoc(readSourceLocation()); in VisitCStyleCastExpr()
1179 E->setRParenLoc(readSourceLocation()); in VisitCStyleCastExpr()
1182 void ASTStmtReader::VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { in VisitCompoundLiteralExpr() argument
1183 VisitExpr(E); in VisitCompoundLiteralExpr()
1184 E->setLParenLoc(readSourceLocation()); in VisitCompoundLiteralExpr()
1185 E->setTypeSourceInfo(readTypeSourceInfo()); in VisitCompoundLiteralExpr()
1186 E->setInitializer(Record.readSubExpr()); in VisitCompoundLiteralExpr()
1187 E->setFileScope(Record.readInt()); in VisitCompoundLiteralExpr()
1190 void ASTStmtReader::VisitExtVectorElementExpr(ExtVectorElementExpr *E) { in VisitExtVectorElementExpr() argument
1191 VisitExpr(E); in VisitExtVectorElementExpr()
1192 E->setBase(Record.readSubExpr()); in VisitExtVectorElementExpr()
1193 E->setAccessor(Record.readIdentifier()); in VisitExtVectorElementExpr()
1194 E->setAccessorLoc(readSourceLocation()); in VisitExtVectorElementExpr()
1197 void ASTStmtReader::VisitInitListExpr(InitListExpr *E) { in VisitInitListExpr() argument
1198 VisitExpr(E); in VisitInitListExpr()
1200 E->setSyntacticForm(SyntForm); in VisitInitListExpr()
1201 E->setLBraceLoc(readSourceLocation()); in VisitInitListExpr()
1202 E->setRBraceLoc(readSourceLocation()); in VisitInitListExpr()
1207 E->ArrayFillerOrUnionFieldInit = filler; in VisitInitListExpr()
1209 E->ArrayFillerOrUnionFieldInit = readDeclAs<FieldDecl>(); in VisitInitListExpr()
1210 E->sawArrayRangeDesignator(Record.readInt()); in VisitInitListExpr()
1212 E->reserveInits(Record.getContext(), NumInits); in VisitInitListExpr()
1216 E->updateInit(Record.getContext(), I, init ? init : filler); in VisitInitListExpr()
1220 E->updateInit(Record.getContext(), I, Record.readSubExpr()); in VisitInitListExpr()
1224 void ASTStmtReader::VisitDesignatedInitExpr(DesignatedInitExpr *E) { in VisitDesignatedInitExpr() argument
1227 VisitExpr(E); in VisitDesignatedInitExpr()
1229 assert(NumSubExprs == E->getNumSubExprs() && "Wrong number of subexprs"); in VisitDesignatedInitExpr()
1231 E->setSubExpr(I, Record.readSubExpr()); in VisitDesignatedInitExpr()
1232 E->setEqualOrColonLoc(readSourceLocation()); in VisitDesignatedInitExpr()
1233 E->setGNUSyntax(Record.readInt()); in VisitDesignatedInitExpr()
1278 E->setDesignators(Record.getContext(), in VisitDesignatedInitExpr()
1282 void ASTStmtReader::VisitDesignatedInitUpdateExpr(DesignatedInitUpdateExpr *E) { in VisitDesignatedInitUpdateExpr() argument
1283 VisitExpr(E); in VisitDesignatedInitUpdateExpr()
1284 E->setBase(Record.readSubExpr()); in VisitDesignatedInitUpdateExpr()
1285 E->setUpdater(Record.readSubExpr()); in VisitDesignatedInitUpdateExpr()
1288 void ASTStmtReader::VisitNoInitExpr(NoInitExpr *E) { in VisitNoInitExpr() argument
1289 VisitExpr(E); in VisitNoInitExpr()
1292 void ASTStmtReader::VisitArrayInitLoopExpr(ArrayInitLoopExpr *E) { in VisitArrayInitLoopExpr() argument
1293 VisitExpr(E); in VisitArrayInitLoopExpr()
1294 E->SubExprs[0] = Record.readSubExpr(); in VisitArrayInitLoopExpr()
1295 E->SubExprs[1] = Record.readSubExpr(); in VisitArrayInitLoopExpr()
1298 void ASTStmtReader::VisitArrayInitIndexExpr(ArrayInitIndexExpr *E) { in VisitArrayInitIndexExpr() argument
1299 VisitExpr(E); in VisitArrayInitIndexExpr()
1302 void ASTStmtReader::VisitImplicitValueInitExpr(ImplicitValueInitExpr *E) { in VisitImplicitValueInitExpr() argument
1303 VisitExpr(E); in VisitImplicitValueInitExpr()
1306 void ASTStmtReader::VisitVAArgExpr(VAArgExpr *E) { in VisitVAArgExpr() argument
1307 VisitExpr(E); in VisitVAArgExpr()
1308 E->setSubExpr(Record.readSubExpr()); in VisitVAArgExpr()
1309 E->setWrittenTypeInfo(readTypeSourceInfo()); in VisitVAArgExpr()
1310 E->setBuiltinLoc(readSourceLocation()); in VisitVAArgExpr()
1311 E->setRParenLoc(readSourceLocation()); in VisitVAArgExpr()
1312 E->setIsMicrosoftABI(Record.readInt()); in VisitVAArgExpr()
1315 void ASTStmtReader::VisitSourceLocExpr(SourceLocExpr *E) { in VisitSourceLocExpr() argument
1316 VisitExpr(E); in VisitSourceLocExpr()
1317 E->ParentContext = readDeclAs<DeclContext>(); in VisitSourceLocExpr()
1318 E->BuiltinLoc = readSourceLocation(); in VisitSourceLocExpr()
1319 E->RParenLoc = readSourceLocation(); in VisitSourceLocExpr()
1320 E->SourceLocExprBits.Kind = Record.readInt(); in VisitSourceLocExpr()
1323 void ASTStmtReader::VisitEmbedExpr(EmbedExpr *E) { in VisitEmbedExpr() argument
1324 VisitExpr(E); in VisitEmbedExpr()
1325 E->EmbedKeywordLoc = readSourceLocation(); in VisitEmbedExpr()
1328 E->Data = Data; in VisitEmbedExpr()
1329 E->Begin = Record.readInt(); in VisitEmbedExpr()
1330 E->NumOfElements = Record.readInt(); in VisitEmbedExpr()
1333 void ASTStmtReader::VisitAddrLabelExpr(AddrLabelExpr *E) { in VisitAddrLabelExpr() argument
1334 VisitExpr(E); in VisitAddrLabelExpr()
1335 E->setAmpAmpLoc(readSourceLocation()); in VisitAddrLabelExpr()
1336 E->setLabelLoc(readSourceLocation()); in VisitAddrLabelExpr()
1337 E->setLabel(readDeclAs<LabelDecl>()); in VisitAddrLabelExpr()
1340 void ASTStmtReader::VisitStmtExpr(StmtExpr *E) { in VisitStmtExpr() argument
1341 VisitExpr(E); in VisitStmtExpr()
1342 E->setLParenLoc(readSourceLocation()); in VisitStmtExpr()
1343 E->setRParenLoc(readSourceLocation()); in VisitStmtExpr()
1344 E->setSubStmt(cast_or_null<CompoundStmt>(Record.readSubStmt())); in VisitStmtExpr()
1345 E->StmtExprBits.TemplateDepth = Record.readInt(); in VisitStmtExpr()
1348 void ASTStmtReader::VisitChooseExpr(ChooseExpr *E) { in VisitChooseExpr() argument
1349 VisitExpr(E); in VisitChooseExpr()
1350 E->setCond(Record.readSubExpr()); in VisitChooseExpr()
1351 E->setLHS(Record.readSubExpr()); in VisitChooseExpr()
1352 E->setRHS(Record.readSubExpr()); in VisitChooseExpr()
1353 E->setBuiltinLoc(readSourceLocation()); in VisitChooseExpr()
1354 E->setRParenLoc(readSourceLocation()); in VisitChooseExpr()
1355 E->setIsConditionTrue(Record.readInt()); in VisitChooseExpr()
1358 void ASTStmtReader::VisitGNUNullExpr(GNUNullExpr *E) { in VisitGNUNullExpr() argument
1359 VisitExpr(E); in VisitGNUNullExpr()
1360 E->setTokenLocation(readSourceLocation()); in VisitGNUNullExpr()
1363 void ASTStmtReader::VisitShuffleVectorExpr(ShuffleVectorExpr *E) { in VisitShuffleVectorExpr() argument
1364 VisitExpr(E); in VisitShuffleVectorExpr()
1369 E->setExprs(Record.getContext(), Exprs); in VisitShuffleVectorExpr()
1370 E->setBuiltinLoc(readSourceLocation()); in VisitShuffleVectorExpr()
1371 E->setRParenLoc(readSourceLocation()); in VisitShuffleVectorExpr()
1374 void ASTStmtReader::VisitConvertVectorExpr(ConvertVectorExpr *E) { in VisitConvertVectorExpr() argument
1375 VisitExpr(E); in VisitConvertVectorExpr()
1376 E->BuiltinLoc = readSourceLocation(); in VisitConvertVectorExpr()
1377 E->RParenLoc = readSourceLocation(); in VisitConvertVectorExpr()
1378 E->TInfo = readTypeSourceInfo(); in VisitConvertVectorExpr()
1379 E->SrcExpr = Record.readSubExpr(); in VisitConvertVectorExpr()
1382 void ASTStmtReader::VisitBlockExpr(BlockExpr *E) { in VisitBlockExpr() argument
1383 VisitExpr(E); in VisitBlockExpr()
1384 E->setBlockDecl(readDeclAs<BlockDecl>()); in VisitBlockExpr()
1387 void ASTStmtReader::VisitGenericSelectionExpr(GenericSelectionExpr *E) { in VisitGenericSelectionExpr() argument
1388 VisitExpr(E); in VisitGenericSelectionExpr()
1391 assert(NumAssocs == E->getNumAssocs() && "Wrong NumAssocs!"); in VisitGenericSelectionExpr()
1392 E->IsExprPredicate = Record.readInt(); in VisitGenericSelectionExpr()
1393 E->ResultIndex = Record.readInt(); in VisitGenericSelectionExpr()
1394 E->GenericSelectionExprBits.GenericLoc = readSourceLocation(); in VisitGenericSelectionExpr()
1395 E->DefaultLoc = readSourceLocation(); in VisitGenericSelectionExpr()
1396 E->RParenLoc = readSourceLocation(); in VisitGenericSelectionExpr()
1398 Stmt **Stmts = E->getTrailingObjects<Stmt *>(); in VisitGenericSelectionExpr()
1405 TypeSourceInfo **TSIs = E->getTrailingObjects<TypeSourceInfo *>(); in VisitGenericSelectionExpr()
1410 void ASTStmtReader::VisitPseudoObjectExpr(PseudoObjectExpr *E) { in VisitPseudoObjectExpr() argument
1411 VisitExpr(E); in VisitPseudoObjectExpr()
1413 assert(numSemanticExprs + 1 == E->PseudoObjectExprBits.NumSubExprs); in VisitPseudoObjectExpr()
1414 E->PseudoObjectExprBits.ResultIndex = Record.readInt(); in VisitPseudoObjectExpr()
1417 E->getSubExprsBuffer()[0] = Record.readSubExpr(); in VisitPseudoObjectExpr()
1422 E->getSubExprsBuffer()[i+1] = subExpr; in VisitPseudoObjectExpr()
1426 void ASTStmtReader::VisitAtomicExpr(AtomicExpr *E) { in VisitAtomicExpr() argument
1427 VisitExpr(E); in VisitAtomicExpr()
1428 E->Op = AtomicExpr::AtomicOp(Record.readInt()); in VisitAtomicExpr()
1429 E->NumSubExprs = AtomicExpr::getNumSubExprs(E->Op); in VisitAtomicExpr()
1430 for (unsigned I = 0; I != E->NumSubExprs; ++I) in VisitAtomicExpr()
1431 E->SubExprs[I] = Record.readSubExpr(); in VisitAtomicExpr()
1432 E->BuiltinLoc = readSourceLocation(); in VisitAtomicExpr()
1433 E->RParenLoc = readSourceLocation(); in VisitAtomicExpr()
1439 void ASTStmtReader::VisitObjCStringLiteral(ObjCStringLiteral *E) { in VisitObjCStringLiteral() argument
1440 VisitExpr(E); in VisitObjCStringLiteral()
1441 E->setString(cast<StringLiteral>(Record.readSubStmt())); in VisitObjCStringLiteral()
1442 E->setAtLoc(readSourceLocation()); in VisitObjCStringLiteral()
1445 void ASTStmtReader::VisitObjCBoxedExpr(ObjCBoxedExpr *E) { in VisitObjCBoxedExpr() argument
1446 VisitExpr(E); in VisitObjCBoxedExpr()
1448 E->SubExpr = Record.readSubStmt(); in VisitObjCBoxedExpr()
1449 E->BoxingMethod = readDeclAs<ObjCMethodDecl>(); in VisitObjCBoxedExpr()
1450 E->Range = readSourceRange(); in VisitObjCBoxedExpr()
1453 void ASTStmtReader::VisitObjCArrayLiteral(ObjCArrayLiteral *E) { in VisitObjCArrayLiteral() argument
1454 VisitExpr(E); in VisitObjCArrayLiteral()
1456 assert(NumElements == E->getNumElements() && "Wrong number of elements"); in VisitObjCArrayLiteral()
1457 Expr **Elements = E->getElements(); in VisitObjCArrayLiteral()
1460 E->ArrayWithObjectsMethod = readDeclAs<ObjCMethodDecl>(); in VisitObjCArrayLiteral()
1461 E->Range = readSourceRange(); in VisitObjCArrayLiteral()
1464 void ASTStmtReader::VisitObjCDictionaryLiteral(ObjCDictionaryLiteral *E) { in VisitObjCDictionaryLiteral() argument
1465 VisitExpr(E); in VisitObjCDictionaryLiteral()
1467 assert(NumElements == E->getNumElements() && "Wrong number of elements"); in VisitObjCDictionaryLiteral()
1469 assert(HasPackExpansions == E->HasPackExpansions &&"Pack expansion mismatch"); in VisitObjCDictionaryLiteral()
1471 E->getTrailingObjects<ObjCDictionaryLiteral::KeyValuePair>(); in VisitObjCDictionaryLiteral()
1473 E->getTrailingObjects<ObjCDictionaryLiteral::ExpansionData>(); in VisitObjCDictionaryLiteral()
1482 E->DictWithObjectsMethod = readDeclAs<ObjCMethodDecl>(); in VisitObjCDictionaryLiteral()
1483 E->Range = readSourceRange(); in VisitObjCDictionaryLiteral()
1486 void ASTStmtReader::VisitObjCEncodeExpr(ObjCEncodeExpr *E) { in VisitObjCEncodeExpr() argument
1487 VisitExpr(E); in VisitObjCEncodeExpr()
1488 E->setEncodedTypeSourceInfo(readTypeSourceInfo()); in VisitObjCEncodeExpr()
1489 E->setAtLoc(readSourceLocation()); in VisitObjCEncodeExpr()
1490 E->setRParenLoc(readSourceLocation()); in VisitObjCEncodeExpr()
1493 void ASTStmtReader::VisitObjCSelectorExpr(ObjCSelectorExpr *E) { in VisitObjCSelectorExpr() argument
1494 VisitExpr(E); in VisitObjCSelectorExpr()
1495 E->setSelector(Record.readSelector()); in VisitObjCSelectorExpr()
1496 E->setAtLoc(readSourceLocation()); in VisitObjCSelectorExpr()
1497 E->setRParenLoc(readSourceLocation()); in VisitObjCSelectorExpr()
1500 void ASTStmtReader::VisitObjCProtocolExpr(ObjCProtocolExpr *E) { in VisitObjCProtocolExpr() argument
1501 VisitExpr(E); in VisitObjCProtocolExpr()
1502 E->setProtocol(readDeclAs<ObjCProtocolDecl>()); in VisitObjCProtocolExpr()
1503 E->setAtLoc(readSourceLocation()); in VisitObjCProtocolExpr()
1504 E->ProtoLoc = readSourceLocation(); in VisitObjCProtocolExpr()
1505 E->setRParenLoc(readSourceLocation()); in VisitObjCProtocolExpr()
1508 void ASTStmtReader::VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) { in VisitObjCIvarRefExpr() argument
1509 VisitExpr(E); in VisitObjCIvarRefExpr()
1510 E->setDecl(readDeclAs<ObjCIvarDecl>()); in VisitObjCIvarRefExpr()
1511 E->setLocation(readSourceLocation()); in VisitObjCIvarRefExpr()
1512 E->setOpLoc(readSourceLocation()); in VisitObjCIvarRefExpr()
1513 E->setBase(Record.readSubExpr()); in VisitObjCIvarRefExpr()
1514 E->setIsArrow(Record.readInt()); in VisitObjCIvarRefExpr()
1515 E->setIsFreeIvar(Record.readInt()); in VisitObjCIvarRefExpr()
1518 void ASTStmtReader::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { in VisitObjCPropertyRefExpr() argument
1519 VisitExpr(E); in VisitObjCPropertyRefExpr()
1525 E->setImplicitProperty(Getter, Setter, MethodRefFlags); in VisitObjCPropertyRefExpr()
1527 E->setExplicitProperty(readDeclAs<ObjCPropertyDecl>(), MethodRefFlags); in VisitObjCPropertyRefExpr()
1529 E->setLocation(readSourceLocation()); in VisitObjCPropertyRefExpr()
1530 E->setReceiverLocation(readSourceLocation()); in VisitObjCPropertyRefExpr()
1533 E->setBase(Record.readSubExpr()); in VisitObjCPropertyRefExpr()
1536 E->setSuperReceiver(Record.readType()); in VisitObjCPropertyRefExpr()
1539 E->setClassReceiver(readDeclAs<ObjCInterfaceDecl>()); in VisitObjCPropertyRefExpr()
1544 void ASTStmtReader::VisitObjCSubscriptRefExpr(ObjCSubscriptRefExpr *E) { in VisitObjCSubscriptRefExpr() argument
1545 VisitExpr(E); in VisitObjCSubscriptRefExpr()
1546 E->setRBracket(readSourceLocation()); in VisitObjCSubscriptRefExpr()
1547 E->setBaseExpr(Record.readSubExpr()); in VisitObjCSubscriptRefExpr()
1548 E->setKeyExpr(Record.readSubExpr()); in VisitObjCSubscriptRefExpr()
1549 E->GetAtIndexMethodDecl = readDeclAs<ObjCMethodDecl>(); in VisitObjCSubscriptRefExpr()
1550 E->SetAtIndexMethodDecl = readDeclAs<ObjCMethodDecl>(); in VisitObjCSubscriptRefExpr()
1553 void ASTStmtReader::VisitObjCMessageExpr(ObjCMessageExpr *E) { in VisitObjCMessageExpr() argument
1554 VisitExpr(E); in VisitObjCMessageExpr()
1555 assert(Record.peekInt() == E->getNumArgs()); in VisitObjCMessageExpr()
1558 E->SelLocsKind = Record.readInt(); in VisitObjCMessageExpr()
1559 E->setDelegateInitCall(Record.readInt()); in VisitObjCMessageExpr()
1560 E->IsImplicit = Record.readInt(); in VisitObjCMessageExpr()
1564 E->setInstanceReceiver(Record.readSubExpr()); in VisitObjCMessageExpr()
1568 E->setClassReceiver(readTypeSourceInfo()); in VisitObjCMessageExpr()
1575 E->setSuper(SuperLoc, T, Kind == ObjCMessageExpr::SuperInstance); in VisitObjCMessageExpr()
1580 assert(Kind == E->getReceiverKind()); in VisitObjCMessageExpr()
1583 E->setMethodDecl(readDeclAs<ObjCMethodDecl>()); in VisitObjCMessageExpr()
1585 E->setSelector(Record.readSelector()); in VisitObjCMessageExpr()
1587 E->LBracLoc = readSourceLocation(); in VisitObjCMessageExpr()
1588 E->RBracLoc = readSourceLocation(); in VisitObjCMessageExpr()
1590 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitObjCMessageExpr()
1591 E->setArg(I, Record.readSubExpr()); in VisitObjCMessageExpr()
1593 SourceLocation *Locs = E->getStoredSelLocs(); in VisitObjCMessageExpr()
1654 void ASTStmtReader::VisitObjCBoolLiteralExpr(ObjCBoolLiteralExpr *E) { in VisitObjCBoolLiteralExpr() argument
1655 VisitExpr(E); in VisitObjCBoolLiteralExpr()
1656 E->setValue(Record.readInt()); in VisitObjCBoolLiteralExpr()
1657 E->setLocation(readSourceLocation()); in VisitObjCBoolLiteralExpr()
1660 void ASTStmtReader::VisitObjCAvailabilityCheckExpr(ObjCAvailabilityCheckExpr *E) { in VisitObjCAvailabilityCheckExpr() argument
1661 VisitExpr(E); in VisitObjCAvailabilityCheckExpr()
1663 E->AtLoc = R.getBegin(); in VisitObjCAvailabilityCheckExpr()
1664 E->RParen = R.getEnd(); in VisitObjCAvailabilityCheckExpr()
1665 E->VersionToCheck = Record.readVersionTuple(); in VisitObjCAvailabilityCheckExpr()
1714 void ASTStmtReader::VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E) { in VisitCXXOperatorCallExpr() argument
1715 VisitCallExpr(E); in VisitCXXOperatorCallExpr()
1716 E->CXXOperatorCallExprBits.OperatorKind = Record.readInt(); in VisitCXXOperatorCallExpr()
1717 E->Range = Record.readSourceRange(); in VisitCXXOperatorCallExpr()
1721 CXXRewrittenBinaryOperator *E) { in VisitCXXRewrittenBinaryOperator() argument
1722 VisitExpr(E); in VisitCXXRewrittenBinaryOperator()
1723 E->CXXRewrittenBinaryOperatorBits.IsReversed = Record.readInt(); in VisitCXXRewrittenBinaryOperator()
1724 E->SemanticForm = Record.readSubExpr(); in VisitCXXRewrittenBinaryOperator()
1727 void ASTStmtReader::VisitCXXConstructExpr(CXXConstructExpr *E) { in VisitCXXConstructExpr() argument
1728 VisitExpr(E); in VisitCXXConstructExpr()
1731 assert((NumArgs == E->getNumArgs()) && "Wrong NumArgs!"); in VisitCXXConstructExpr()
1733 E->CXXConstructExprBits.Elidable = Record.readInt(); in VisitCXXConstructExpr()
1734 E->CXXConstructExprBits.HadMultipleCandidates = Record.readInt(); in VisitCXXConstructExpr()
1735 E->CXXConstructExprBits.ListInitialization = Record.readInt(); in VisitCXXConstructExpr()
1736 E->CXXConstructExprBits.StdInitListInitialization = Record.readInt(); in VisitCXXConstructExpr()
1737 E->CXXConstructExprBits.ZeroInitialization = Record.readInt(); in VisitCXXConstructExpr()
1738 E->CXXConstructExprBits.ConstructionKind = Record.readInt(); in VisitCXXConstructExpr()
1739 E->CXXConstructExprBits.IsImmediateEscalating = Record.readInt(); in VisitCXXConstructExpr()
1740 E->CXXConstructExprBits.Loc = readSourceLocation(); in VisitCXXConstructExpr()
1741 E->Constructor = readDeclAs<CXXConstructorDecl>(); in VisitCXXConstructExpr()
1742 E->ParenOrBraceRange = readSourceRange(); in VisitCXXConstructExpr()
1745 E->setArg(I, Record.readSubExpr()); in VisitCXXConstructExpr()
1748 void ASTStmtReader::VisitCXXInheritedCtorInitExpr(CXXInheritedCtorInitExpr *E) { in VisitCXXInheritedCtorInitExpr() argument
1749 VisitExpr(E); in VisitCXXInheritedCtorInitExpr()
1750 E->Constructor = readDeclAs<CXXConstructorDecl>(); in VisitCXXInheritedCtorInitExpr()
1751 E->Loc = readSourceLocation(); in VisitCXXInheritedCtorInitExpr()
1752 E->ConstructsVirtualBase = Record.readInt(); in VisitCXXInheritedCtorInitExpr()
1753 E->InheritedFromVirtualBase = Record.readInt(); in VisitCXXInheritedCtorInitExpr()
1756 void ASTStmtReader::VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *E) { in VisitCXXTemporaryObjectExpr() argument
1757 VisitCXXConstructExpr(E); in VisitCXXTemporaryObjectExpr()
1758 E->TSI = readTypeSourceInfo(); in VisitCXXTemporaryObjectExpr()
1761 void ASTStmtReader::VisitLambdaExpr(LambdaExpr *E) { in VisitLambdaExpr() argument
1762 VisitExpr(E); in VisitLambdaExpr()
1765 assert(NumCaptures == E->LambdaExprBits.NumCaptures); in VisitLambdaExpr()
1766 E->IntroducerRange = readSourceRange(); in VisitLambdaExpr()
1767 E->LambdaExprBits.CaptureDefault = Record.readInt(); in VisitLambdaExpr()
1768 E->CaptureDefaultLoc = readSourceLocation(); in VisitLambdaExpr()
1769 E->LambdaExprBits.ExplicitParams = Record.readInt(); in VisitLambdaExpr()
1770 E->LambdaExprBits.ExplicitResultType = Record.readInt(); in VisitLambdaExpr()
1771 E->ClosingBrace = readSourceLocation(); in VisitLambdaExpr()
1774 for (LambdaExpr::capture_init_iterator C = E->capture_init_begin(), in VisitLambdaExpr()
1775 CEnd = E->capture_init_end(); in VisitLambdaExpr()
1784 ASTStmtReader::VisitCXXStdInitializerListExpr(CXXStdInitializerListExpr *E) { in VisitCXXStdInitializerListExpr() argument
1785 VisitExpr(E); in VisitCXXStdInitializerListExpr()
1786 E->SubExpr = Record.readSubExpr(); in VisitCXXStdInitializerListExpr()
1789 void ASTStmtReader::VisitCXXNamedCastExpr(CXXNamedCastExpr *E) { in VisitCXXNamedCastExpr() argument
1790 VisitExplicitCastExpr(E); in VisitCXXNamedCastExpr()
1792 E->Loc = R.getBegin(); in VisitCXXNamedCastExpr()
1793 E->RParenLoc = R.getEnd(); in VisitCXXNamedCastExpr()
1795 E->AngleBrackets = readSourceRange(); in VisitCXXNamedCastExpr()
1798 void ASTStmtReader::VisitCXXStaticCastExpr(CXXStaticCastExpr *E) { in VisitCXXStaticCastExpr() argument
1799 return VisitCXXNamedCastExpr(E); in VisitCXXStaticCastExpr()
1802 void ASTStmtReader::VisitCXXDynamicCastExpr(CXXDynamicCastExpr *E) { in VisitCXXDynamicCastExpr() argument
1803 return VisitCXXNamedCastExpr(E); in VisitCXXDynamicCastExpr()
1806 void ASTStmtReader::VisitCXXReinterpretCastExpr(CXXReinterpretCastExpr *E) { in VisitCXXReinterpretCastExpr() argument
1807 return VisitCXXNamedCastExpr(E); in VisitCXXReinterpretCastExpr()
1810 void ASTStmtReader::VisitCXXAddrspaceCastExpr(CXXAddrspaceCastExpr *E) { in VisitCXXAddrspaceCastExpr() argument
1811 return VisitCXXNamedCastExpr(E); in VisitCXXAddrspaceCastExpr()
1814 void ASTStmtReader::VisitCXXConstCastExpr(CXXConstCastExpr *E) { in VisitCXXConstCastExpr() argument
1815 return VisitCXXNamedCastExpr(E); in VisitCXXConstCastExpr()
1818 void ASTStmtReader::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E) { in VisitCXXFunctionalCastExpr() argument
1819 VisitExplicitCastExpr(E); in VisitCXXFunctionalCastExpr()
1820 E->setLParenLoc(readSourceLocation()); in VisitCXXFunctionalCastExpr()
1821 E->setRParenLoc(readSourceLocation()); in VisitCXXFunctionalCastExpr()
1824 void ASTStmtReader::VisitBuiltinBitCastExpr(BuiltinBitCastExpr *E) { in VisitBuiltinBitCastExpr() argument
1825 VisitExplicitCastExpr(E); in VisitBuiltinBitCastExpr()
1826 E->KWLoc = readSourceLocation(); in VisitBuiltinBitCastExpr()
1827 E->RParenLoc = readSourceLocation(); in VisitBuiltinBitCastExpr()
1830 void ASTStmtReader::VisitUserDefinedLiteral(UserDefinedLiteral *E) { in VisitUserDefinedLiteral() argument
1831 VisitCallExpr(E); in VisitUserDefinedLiteral()
1832 E->UDSuffixLoc = readSourceLocation(); in VisitUserDefinedLiteral()
1835 void ASTStmtReader::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) { in VisitCXXBoolLiteralExpr() argument
1836 VisitExpr(E); in VisitCXXBoolLiteralExpr()
1837 E->setValue(Record.readInt()); in VisitCXXBoolLiteralExpr()
1838 E->setLocation(readSourceLocation()); in VisitCXXBoolLiteralExpr()
1841 void ASTStmtReader::VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E) { in VisitCXXNullPtrLiteralExpr() argument
1842 VisitExpr(E); in VisitCXXNullPtrLiteralExpr()
1843 E->setLocation(readSourceLocation()); in VisitCXXNullPtrLiteralExpr()
1846 void ASTStmtReader::VisitCXXTypeidExpr(CXXTypeidExpr *E) { in VisitCXXTypeidExpr() argument
1847 VisitExpr(E); in VisitCXXTypeidExpr()
1848 E->setSourceRange(readSourceRange()); in VisitCXXTypeidExpr()
1849 if (E->isTypeOperand()) in VisitCXXTypeidExpr()
1850 E->Operand = readTypeSourceInfo(); in VisitCXXTypeidExpr()
1852 E->Operand = Record.readSubExpr(); in VisitCXXTypeidExpr()
1855 void ASTStmtReader::VisitCXXThisExpr(CXXThisExpr *E) { in VisitCXXThisExpr() argument
1856 VisitExpr(E); in VisitCXXThisExpr()
1857 E->setLocation(readSourceLocation()); in VisitCXXThisExpr()
1858 E->setImplicit(Record.readInt()); in VisitCXXThisExpr()
1859 E->setCapturedByCopyInLambdaWithExplicitObjectParameter(Record.readInt()); in VisitCXXThisExpr()
1862 void ASTStmtReader::VisitCXXThrowExpr(CXXThrowExpr *E) { in VisitCXXThrowExpr() argument
1863 VisitExpr(E); in VisitCXXThrowExpr()
1864 E->CXXThrowExprBits.ThrowLoc = readSourceLocation(); in VisitCXXThrowExpr()
1865 E->Operand = Record.readSubExpr(); in VisitCXXThrowExpr()
1866 E->CXXThrowExprBits.IsThrownVariableInScope = Record.readInt(); in VisitCXXThrowExpr()
1869 void ASTStmtReader::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *E) { in VisitCXXDefaultArgExpr() argument
1870 VisitExpr(E); in VisitCXXDefaultArgExpr()
1871 E->Param = readDeclAs<ParmVarDecl>(); in VisitCXXDefaultArgExpr()
1872 E->UsedContext = readDeclAs<DeclContext>(); in VisitCXXDefaultArgExpr()
1873 E->CXXDefaultArgExprBits.Loc = readSourceLocation(); in VisitCXXDefaultArgExpr()
1874 E->CXXDefaultArgExprBits.HasRewrittenInit = Record.readInt(); in VisitCXXDefaultArgExpr()
1875 if (E->CXXDefaultArgExprBits.HasRewrittenInit) in VisitCXXDefaultArgExpr()
1876 *E->getTrailingObjects<Expr *>() = Record.readSubExpr(); in VisitCXXDefaultArgExpr()
1879 void ASTStmtReader::VisitCXXDefaultInitExpr(CXXDefaultInitExpr *E) { in VisitCXXDefaultInitExpr() argument
1880 VisitExpr(E); in VisitCXXDefaultInitExpr()
1881 E->CXXDefaultInitExprBits.HasRewrittenInit = Record.readInt(); in VisitCXXDefaultInitExpr()
1882 E->Field = readDeclAs<FieldDecl>(); in VisitCXXDefaultInitExpr()
1883 E->UsedContext = readDeclAs<DeclContext>(); in VisitCXXDefaultInitExpr()
1884 E->CXXDefaultInitExprBits.Loc = readSourceLocation(); in VisitCXXDefaultInitExpr()
1885 if (E->CXXDefaultInitExprBits.HasRewrittenInit) in VisitCXXDefaultInitExpr()
1886 *E->getTrailingObjects<Expr *>() = Record.readSubExpr(); in VisitCXXDefaultInitExpr()
1889 void ASTStmtReader::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) { in VisitCXXBindTemporaryExpr() argument
1890 VisitExpr(E); in VisitCXXBindTemporaryExpr()
1891 E->setTemporary(Record.readCXXTemporary()); in VisitCXXBindTemporaryExpr()
1892 E->setSubExpr(Record.readSubExpr()); in VisitCXXBindTemporaryExpr()
1895 void ASTStmtReader::VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *E) { in VisitCXXScalarValueInitExpr() argument
1896 VisitExpr(E); in VisitCXXScalarValueInitExpr()
1897 E->TypeInfo = readTypeSourceInfo(); in VisitCXXScalarValueInitExpr()
1898 E->CXXScalarValueInitExprBits.RParenLoc = readSourceLocation(); in VisitCXXScalarValueInitExpr()
1901 void ASTStmtReader::VisitCXXNewExpr(CXXNewExpr *E) { in VisitCXXNewExpr() argument
1902 VisitExpr(E); in VisitCXXNewExpr()
1909 E->CXXNewExprBits.IsGlobalNew = Record.readInt(); in VisitCXXNewExpr()
1910 E->CXXNewExprBits.ShouldPassAlignment = Record.readInt(); in VisitCXXNewExpr()
1911 E->CXXNewExprBits.UsualArrayDeleteWantsSize = Record.readInt(); in VisitCXXNewExpr()
1912 E->CXXNewExprBits.HasInitializer = Record.readInt(); in VisitCXXNewExpr()
1913 E->CXXNewExprBits.StoredInitializationStyle = Record.readInt(); in VisitCXXNewExpr()
1915 assert((IsArray == E->isArray()) && "Wrong IsArray!"); in VisitCXXNewExpr()
1916 assert((HasInit == E->hasInitializer()) && "Wrong HasInit!"); in VisitCXXNewExpr()
1917 assert((NumPlacementArgs == E->getNumPlacementArgs()) && in VisitCXXNewExpr()
1919 assert((IsParenTypeId == E->isParenTypeId()) && "Wrong IsParenTypeId!"); in VisitCXXNewExpr()
1924 E->setOperatorNew(readDeclAs<FunctionDecl>()); in VisitCXXNewExpr()
1925 E->setOperatorDelete(readDeclAs<FunctionDecl>()); in VisitCXXNewExpr()
1926 E->AllocatedTypeInfo = readTypeSourceInfo(); in VisitCXXNewExpr()
1928 E->getTrailingObjects<SourceRange>()[0] = readSourceRange(); in VisitCXXNewExpr()
1929 E->Range = readSourceRange(); in VisitCXXNewExpr()
1930 E->DirectInitRange = readSourceRange(); in VisitCXXNewExpr()
1933 for (CXXNewExpr::raw_arg_iterator I = E->raw_arg_begin(), in VisitCXXNewExpr()
1934 N = E->raw_arg_end(); in VisitCXXNewExpr()
1939 void ASTStmtReader::VisitCXXDeleteExpr(CXXDeleteExpr *E) { in VisitCXXDeleteExpr() argument
1940 VisitExpr(E); in VisitCXXDeleteExpr()
1941 E->CXXDeleteExprBits.GlobalDelete = Record.readInt(); in VisitCXXDeleteExpr()
1942 E->CXXDeleteExprBits.ArrayForm = Record.readInt(); in VisitCXXDeleteExpr()
1943 E->CXXDeleteExprBits.ArrayFormAsWritten = Record.readInt(); in VisitCXXDeleteExpr()
1944 E->CXXDeleteExprBits.UsualArrayDeleteWantsSize = Record.readInt(); in VisitCXXDeleteExpr()
1945 E->OperatorDelete = readDeclAs<FunctionDecl>(); in VisitCXXDeleteExpr()
1946 E->Argument = Record.readSubExpr(); in VisitCXXDeleteExpr()
1947 E->CXXDeleteExprBits.Loc = readSourceLocation(); in VisitCXXDeleteExpr()
1950 void ASTStmtReader::VisitCXXPseudoDestructorExpr(CXXPseudoDestructorExpr *E) { in VisitCXXPseudoDestructorExpr() argument
1951 VisitExpr(E); in VisitCXXPseudoDestructorExpr()
1953 E->Base = Record.readSubExpr(); in VisitCXXPseudoDestructorExpr()
1954 E->IsArrow = Record.readInt(); in VisitCXXPseudoDestructorExpr()
1955 E->OperatorLoc = readSourceLocation(); in VisitCXXPseudoDestructorExpr()
1956 E->QualifierLoc = Record.readNestedNameSpecifierLoc(); in VisitCXXPseudoDestructorExpr()
1957 E->ScopeType = readTypeSourceInfo(); in VisitCXXPseudoDestructorExpr()
1958 E->ColonColonLoc = readSourceLocation(); in VisitCXXPseudoDestructorExpr()
1959 E->TildeLoc = readSourceLocation(); in VisitCXXPseudoDestructorExpr()
1963 E->setDestroyedType(II, readSourceLocation()); in VisitCXXPseudoDestructorExpr()
1965 E->setDestroyedType(readTypeSourceInfo()); in VisitCXXPseudoDestructorExpr()
1968 void ASTStmtReader::VisitExprWithCleanups(ExprWithCleanups *E) { in VisitExprWithCleanups() argument
1969 VisitExpr(E); in VisitExprWithCleanups()
1972 assert(NumObjects == E->getNumObjects()); in VisitExprWithCleanups()
1982 E->getTrailingObjects<ExprWithCleanups::CleanupObject>()[i] = Obj; in VisitExprWithCleanups()
1985 E->ExprWithCleanupsBits.CleanupsHaveSideEffects = Record.readInt(); in VisitExprWithCleanups()
1986 E->SubExpr = Record.readSubExpr(); in VisitExprWithCleanups()
1990 CXXDependentScopeMemberExpr *E) { in VisitCXXDependentScopeMemberExpr() argument
1991 VisitExpr(E); in VisitCXXDependentScopeMemberExpr()
1998 assert((HasTemplateKWAndArgsInfo == E->hasTemplateKWAndArgsInfo()) && in VisitCXXDependentScopeMemberExpr()
2001 (HasFirstQualifierFoundInScope == E->hasFirstQualifierFoundInScope()) && in VisitCXXDependentScopeMemberExpr()
2006 *E->getTrailingObjects<ASTTemplateKWAndArgsInfo>(), in VisitCXXDependentScopeMemberExpr()
2007 E->getTrailingObjects<TemplateArgumentLoc>(), NumTemplateArgs); in VisitCXXDependentScopeMemberExpr()
2009 assert((NumTemplateArgs == E->getNumTemplateArgs()) && in VisitCXXDependentScopeMemberExpr()
2012 E->CXXDependentScopeMemberExprBits.IsArrow = in VisitCXXDependentScopeMemberExpr()
2015 E->BaseType = Record.readType(); in VisitCXXDependentScopeMemberExpr()
2016 E->QualifierLoc = Record.readNestedNameSpecifierLoc(); in VisitCXXDependentScopeMemberExpr()
2019 E->Base = Record.readSubExpr(); in VisitCXXDependentScopeMemberExpr()
2021 E->Base = nullptr; in VisitCXXDependentScopeMemberExpr()
2023 E->CXXDependentScopeMemberExprBits.OperatorLoc = readSourceLocation(); in VisitCXXDependentScopeMemberExpr()
2026 *E->getTrailingObjects<NamedDecl *>() = readDeclAs<NamedDecl>(); in VisitCXXDependentScopeMemberExpr()
2028 E->MemberNameInfo = Record.readDeclarationNameInfo(); in VisitCXXDependentScopeMemberExpr()
2032 ASTStmtReader::VisitDependentScopeDeclRefExpr(DependentScopeDeclRefExpr *E) { in VisitDependentScopeDeclRefExpr() argument
2033 VisitExpr(E); in VisitDependentScopeDeclRefExpr()
2037 *E->getTrailingObjects<ASTTemplateKWAndArgsInfo>(), in VisitDependentScopeDeclRefExpr()
2038 E->getTrailingObjects<TemplateArgumentLoc>(), in VisitDependentScopeDeclRefExpr()
2041 E->QualifierLoc = Record.readNestedNameSpecifierLoc(); in VisitDependentScopeDeclRefExpr()
2042 E->NameInfo = Record.readDeclarationNameInfo(); in VisitDependentScopeDeclRefExpr()
2046 ASTStmtReader::VisitCXXUnresolvedConstructExpr(CXXUnresolvedConstructExpr *E) { in VisitCXXUnresolvedConstructExpr() argument
2047 VisitExpr(E); in VisitCXXUnresolvedConstructExpr()
2048 assert(Record.peekInt() == E->getNumArgs() && in VisitCXXUnresolvedConstructExpr()
2051 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitCXXUnresolvedConstructExpr()
2052 E->setArg(I, Record.readSubExpr()); in VisitCXXUnresolvedConstructExpr()
2053 E->TypeAndInitForm.setPointer(readTypeSourceInfo()); in VisitCXXUnresolvedConstructExpr()
2054 E->setLParenLoc(readSourceLocation()); in VisitCXXUnresolvedConstructExpr()
2055 E->setRParenLoc(readSourceLocation()); in VisitCXXUnresolvedConstructExpr()
2056 E->TypeAndInitForm.setInt(Record.readInt()); in VisitCXXUnresolvedConstructExpr()
2059 void ASTStmtReader::VisitOverloadExpr(OverloadExpr *E) { in VisitOverloadExpr() argument
2060 VisitExpr(E); in VisitOverloadExpr()
2065 assert((E->getNumDecls() == NumResults) && "Wrong NumResults!"); in VisitOverloadExpr()
2066 assert((E->hasTemplateKWAndArgsInfo() == HasTemplateKWAndArgsInfo) && in VisitOverloadExpr()
2071 ReadTemplateKWAndArgsInfo(*E->getTrailingASTTemplateKWAndArgsInfo(), in VisitOverloadExpr()
2072 E->getTrailingTemplateArgumentLoc(), in VisitOverloadExpr()
2074 assert((E->getNumTemplateArgs() == NumTemplateArgs) && in VisitOverloadExpr()
2085 DeclAccessPair *Results = E->getTrailingResults(); in VisitOverloadExpr()
2091 E->NameInfo = Record.readDeclarationNameInfo(); in VisitOverloadExpr()
2092 E->QualifierLoc = Record.readNestedNameSpecifierLoc(); in VisitOverloadExpr()
2095 void ASTStmtReader::VisitUnresolvedMemberExpr(UnresolvedMemberExpr *E) { in VisitUnresolvedMemberExpr() argument
2096 VisitOverloadExpr(E); in VisitUnresolvedMemberExpr()
2097 E->UnresolvedMemberExprBits.IsArrow = CurrentUnpackingBits->getNextBit(); in VisitUnresolvedMemberExpr()
2098 E->UnresolvedMemberExprBits.HasUnresolvedUsing = in VisitUnresolvedMemberExpr()
2102 E->Base = Record.readSubExpr(); in VisitUnresolvedMemberExpr()
2104 E->Base = nullptr; in VisitUnresolvedMemberExpr()
2106 E->OperatorLoc = readSourceLocation(); in VisitUnresolvedMemberExpr()
2108 E->BaseType = Record.readType(); in VisitUnresolvedMemberExpr()
2111 void ASTStmtReader::VisitUnresolvedLookupExpr(UnresolvedLookupExpr *E) { in VisitUnresolvedLookupExpr() argument
2112 VisitOverloadExpr(E); in VisitUnresolvedLookupExpr()
2113 E->UnresolvedLookupExprBits.RequiresADL = CurrentUnpackingBits->getNextBit(); in VisitUnresolvedLookupExpr()
2114 E->NamingClass = readDeclAs<CXXRecordDecl>(); in VisitUnresolvedLookupExpr()
2117 void ASTStmtReader::VisitTypeTraitExpr(TypeTraitExpr *E) { in VisitTypeTraitExpr() argument
2118 VisitExpr(E); in VisitTypeTraitExpr()
2119 E->TypeTraitExprBits.NumArgs = Record.readInt(); in VisitTypeTraitExpr()
2120 E->TypeTraitExprBits.Kind = Record.readInt(); in VisitTypeTraitExpr()
2121 E->TypeTraitExprBits.Value = Record.readInt(); in VisitTypeTraitExpr()
2123 E->Loc = Range.getBegin(); in VisitTypeTraitExpr()
2124 E->RParenLoc = Range.getEnd(); in VisitTypeTraitExpr()
2126 auto **Args = E->getTrailingObjects<TypeSourceInfo *>(); in VisitTypeTraitExpr()
2127 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitTypeTraitExpr()
2131 void ASTStmtReader::VisitArrayTypeTraitExpr(ArrayTypeTraitExpr *E) { in VisitArrayTypeTraitExpr() argument
2132 VisitExpr(E); in VisitArrayTypeTraitExpr()
2133 E->ATT = (ArrayTypeTrait)Record.readInt(); in VisitArrayTypeTraitExpr()
2134 E->Value = (unsigned int)Record.readInt(); in VisitArrayTypeTraitExpr()
2136 E->Loc = Range.getBegin(); in VisitArrayTypeTraitExpr()
2137 E->RParen = Range.getEnd(); in VisitArrayTypeTraitExpr()
2138 E->QueriedType = readTypeSourceInfo(); in VisitArrayTypeTraitExpr()
2139 E->Dimension = Record.readSubExpr(); in VisitArrayTypeTraitExpr()
2142 void ASTStmtReader::VisitExpressionTraitExpr(ExpressionTraitExpr *E) { in VisitExpressionTraitExpr() argument
2143 VisitExpr(E); in VisitExpressionTraitExpr()
2144 E->ET = (ExpressionTrait)Record.readInt(); in VisitExpressionTraitExpr()
2145 E->Value = (bool)Record.readInt(); in VisitExpressionTraitExpr()
2147 E->QueriedExpression = Record.readSubExpr(); in VisitExpressionTraitExpr()
2148 E->Loc = Range.getBegin(); in VisitExpressionTraitExpr()
2149 E->RParen = Range.getEnd(); in VisitExpressionTraitExpr()
2152 void ASTStmtReader::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) { in VisitCXXNoexceptExpr() argument
2153 VisitExpr(E); in VisitCXXNoexceptExpr()
2154 E->CXXNoexceptExprBits.Value = Record.readInt(); in VisitCXXNoexceptExpr()
2155 E->Range = readSourceRange(); in VisitCXXNoexceptExpr()
2156 E->Operand = Record.readSubExpr(); in VisitCXXNoexceptExpr()
2159 void ASTStmtReader::VisitPackExpansionExpr(PackExpansionExpr *E) { in VisitPackExpansionExpr() argument
2160 VisitExpr(E); in VisitPackExpansionExpr()
2161 E->EllipsisLoc = readSourceLocation(); in VisitPackExpansionExpr()
2162 E->NumExpansions = Record.readInt(); in VisitPackExpansionExpr()
2163 E->Pattern = Record.readSubExpr(); in VisitPackExpansionExpr()
2166 void ASTStmtReader::VisitSizeOfPackExpr(SizeOfPackExpr *E) { in VisitSizeOfPackExpr() argument
2167 VisitExpr(E); in VisitSizeOfPackExpr()
2169 E->OperatorLoc = readSourceLocation(); in VisitSizeOfPackExpr()
2170 E->PackLoc = readSourceLocation(); in VisitSizeOfPackExpr()
2171 E->RParenLoc = readSourceLocation(); in VisitSizeOfPackExpr()
2172 E->Pack = Record.readDeclAs<NamedDecl>(); in VisitSizeOfPackExpr()
2173 if (E->isPartiallySubstituted()) { in VisitSizeOfPackExpr()
2174 assert(E->Length == NumPartialArgs); in VisitSizeOfPackExpr()
2175 for (auto *I = E->getTrailingObjects<TemplateArgument>(), in VisitSizeOfPackExpr()
2176 *E = I + NumPartialArgs; in VisitSizeOfPackExpr()
2177 I != E; ++I) in VisitSizeOfPackExpr()
2179 } else if (!E->isValueDependent()) { in VisitSizeOfPackExpr()
2180 E->Length = Record.readInt(); in VisitSizeOfPackExpr()
2184 void ASTStmtReader::VisitPackIndexingExpr(PackIndexingExpr *E) { in VisitPackIndexingExpr() argument
2185 VisitExpr(E); in VisitPackIndexingExpr()
2186 E->TransformedExpressions = Record.readInt(); in VisitPackIndexingExpr()
2187 E->ExpandedToEmptyPack = Record.readInt(); in VisitPackIndexingExpr()
2188 E->EllipsisLoc = readSourceLocation(); in VisitPackIndexingExpr()
2189 E->RSquareLoc = readSourceLocation(); in VisitPackIndexingExpr()
2190 E->SubExprs[0] = Record.readStmt(); in VisitPackIndexingExpr()
2191 E->SubExprs[1] = Record.readStmt(); in VisitPackIndexingExpr()
2192 auto **Exprs = E->getTrailingObjects<Expr *>(); in VisitPackIndexingExpr()
2193 for (unsigned I = 0; I < E->TransformedExpressions; ++I) in VisitPackIndexingExpr()
2198 SubstNonTypeTemplateParmExpr *E) { in VisitSubstNonTypeTemplateParmExpr() argument
2199 VisitExpr(E); in VisitSubstNonTypeTemplateParmExpr()
2200 E->AssociatedDeclAndRef.setPointer(readDeclAs<Decl>()); in VisitSubstNonTypeTemplateParmExpr()
2201 E->AssociatedDeclAndRef.setInt(CurrentUnpackingBits->getNextBit()); in VisitSubstNonTypeTemplateParmExpr()
2202 E->Index = CurrentUnpackingBits->getNextBits(/*Width=*/12); in VisitSubstNonTypeTemplateParmExpr()
2204 E->PackIndex = Record.readInt(); in VisitSubstNonTypeTemplateParmExpr()
2206 E->PackIndex = 0; in VisitSubstNonTypeTemplateParmExpr()
2207 E->SubstNonTypeTemplateParmExprBits.NameLoc = readSourceLocation(); in VisitSubstNonTypeTemplateParmExpr()
2208 E->Replacement = Record.readSubExpr(); in VisitSubstNonTypeTemplateParmExpr()
2212 SubstNonTypeTemplateParmPackExpr *E) { in VisitSubstNonTypeTemplateParmPackExpr() argument
2213 VisitExpr(E); in VisitSubstNonTypeTemplateParmPackExpr()
2214 E->AssociatedDecl = readDeclAs<Decl>(); in VisitSubstNonTypeTemplateParmPackExpr()
2215 E->Index = Record.readInt(); in VisitSubstNonTypeTemplateParmPackExpr()
2220 E->Arguments = ArgPack.pack_begin(); in VisitSubstNonTypeTemplateParmPackExpr()
2221 E->NumArguments = ArgPack.pack_size(); in VisitSubstNonTypeTemplateParmPackExpr()
2222 E->NameLoc = readSourceLocation(); in VisitSubstNonTypeTemplateParmPackExpr()
2225 void ASTStmtReader::VisitFunctionParmPackExpr(FunctionParmPackExpr *E) { in VisitFunctionParmPackExpr() argument
2226 VisitExpr(E); in VisitFunctionParmPackExpr()
2227 E->NumParameters = Record.readInt(); in VisitFunctionParmPackExpr()
2228 E->ParamPack = readDeclAs<ParmVarDecl>(); in VisitFunctionParmPackExpr()
2229 E->NameLoc = readSourceLocation(); in VisitFunctionParmPackExpr()
2230 auto **Parms = E->getTrailingObjects<VarDecl *>(); in VisitFunctionParmPackExpr()
2231 for (unsigned i = 0, n = E->NumParameters; i != n; ++i) in VisitFunctionParmPackExpr()
2235 void ASTStmtReader::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) { in VisitMaterializeTemporaryExpr() argument
2236 VisitExpr(E); in VisitMaterializeTemporaryExpr()
2239 E->State = cast<LifetimeExtendedTemporaryDecl>(Record.readDecl()); in VisitMaterializeTemporaryExpr()
2241 E->State = Record.readSubExpr(); in VisitMaterializeTemporaryExpr()
2244 void ASTStmtReader::VisitCXXFoldExpr(CXXFoldExpr *E) { in VisitCXXFoldExpr() argument
2245 VisitExpr(E); in VisitCXXFoldExpr()
2246 E->LParenLoc = readSourceLocation(); in VisitCXXFoldExpr()
2247 E->EllipsisLoc = readSourceLocation(); in VisitCXXFoldExpr()
2248 E->RParenLoc = readSourceLocation(); in VisitCXXFoldExpr()
2249 E->NumExpansions = Record.readInt(); in VisitCXXFoldExpr()
2250 E->SubExprs[0] = Record.readSubExpr(); in VisitCXXFoldExpr()
2251 E->SubExprs[1] = Record.readSubExpr(); in VisitCXXFoldExpr()
2252 E->SubExprs[2] = Record.readSubExpr(); in VisitCXXFoldExpr()
2253 E->Opcode = (BinaryOperatorKind)Record.readInt(); in VisitCXXFoldExpr()
2256 void ASTStmtReader::VisitCXXParenListInitExpr(CXXParenListInitExpr *E) { in VisitCXXParenListInitExpr() argument
2257 VisitExpr(E); in VisitCXXParenListInitExpr()
2259 assert(E->NumExprs == ExpectedNumExprs && in VisitCXXParenListInitExpr()
2262 E->NumUserSpecifiedExprs = Record.readInt(); in VisitCXXParenListInitExpr()
2263 E->InitLoc = readSourceLocation(); in VisitCXXParenListInitExpr()
2264 E->LParenLoc = readSourceLocation(); in VisitCXXParenListInitExpr()
2265 E->RParenLoc = readSourceLocation(); in VisitCXXParenListInitExpr()
2267 E->getTrailingObjects<Expr *>()[I] = Record.readSubExpr(); in VisitCXXParenListInitExpr()
2273 E->setArrayFiller(Record.readSubExpr()); in VisitCXXParenListInitExpr()
2275 E->setInitializedFieldInUnion(readDeclAs<FieldDecl>()); in VisitCXXParenListInitExpr()
2278 E->updateDependence(); in VisitCXXParenListInitExpr()
2281 void ASTStmtReader::VisitOpaqueValueExpr(OpaqueValueExpr *E) { in VisitOpaqueValueExpr() argument
2282 VisitExpr(E); in VisitOpaqueValueExpr()
2283 E->SourceExpr = Record.readSubExpr(); in VisitOpaqueValueExpr()
2284 E->OpaqueValueExprBits.Loc = readSourceLocation(); in VisitOpaqueValueExpr()
2285 E->setIsUnique(Record.readInt()); in VisitOpaqueValueExpr()
2288 void ASTStmtReader::VisitTypoExpr(TypoExpr *E) { in VisitTypoExpr() argument
2292 void ASTStmtReader::VisitRecoveryExpr(RecoveryExpr *E) { in VisitRecoveryExpr() argument
2293 VisitExpr(E); in VisitRecoveryExpr()
2295 E->BeginLoc = readSourceLocation(); in VisitRecoveryExpr()
2296 E->EndLoc = readSourceLocation(); in VisitRecoveryExpr()
2298 std::distance(E->children().begin(), E->children().end())) && in VisitRecoveryExpr()
2301 for (Stmt *&Child : E->children()) in VisitRecoveryExpr()
2308 void ASTStmtReader::VisitMSPropertyRefExpr(MSPropertyRefExpr *E) { in VisitMSPropertyRefExpr() argument
2309 VisitExpr(E); in VisitMSPropertyRefExpr()
2310 E->IsArrow = (Record.readInt() != 0); in VisitMSPropertyRefExpr()
2311 E->BaseExpr = Record.readSubExpr(); in VisitMSPropertyRefExpr()
2312 E->QualifierLoc = Record.readNestedNameSpecifierLoc(); in VisitMSPropertyRefExpr()
2313 E->MemberLoc = readSourceLocation(); in VisitMSPropertyRefExpr()
2314 E->TheDecl = readDeclAs<MSPropertyDecl>(); in VisitMSPropertyRefExpr()
2317 void ASTStmtReader::VisitMSPropertySubscriptExpr(MSPropertySubscriptExpr *E) { in VisitMSPropertySubscriptExpr() argument
2318 VisitExpr(E); in VisitMSPropertySubscriptExpr()
2319 E->setBase(Record.readSubExpr()); in VisitMSPropertySubscriptExpr()
2320 E->setIdx(Record.readSubExpr()); in VisitMSPropertySubscriptExpr()
2321 E->setRBracketLoc(readSourceLocation()); in VisitMSPropertySubscriptExpr()
2324 void ASTStmtReader::VisitCXXUuidofExpr(CXXUuidofExpr *E) { in VisitCXXUuidofExpr() argument
2325 VisitExpr(E); in VisitCXXUuidofExpr()
2326 E->setSourceRange(readSourceRange()); in VisitCXXUuidofExpr()
2327 E->Guid = readDeclAs<MSGuidDecl>(); in VisitCXXUuidofExpr()
2328 if (E->isTypeOperand()) in VisitCXXUuidofExpr()
2329 E->Operand = readTypeSourceInfo(); in VisitCXXUuidofExpr()
2331 E->Operand = Record.readSubExpr(); in VisitCXXUuidofExpr()
2364 void ASTStmtReader::VisitCUDAKernelCallExpr(CUDAKernelCallExpr *E) { in VisitCUDAKernelCallExpr() argument
2365 VisitCallExpr(E); in VisitCUDAKernelCallExpr()
2366 E->setPreArg(CUDAKernelCallExpr::CONFIG, Record.readSubExpr()); in VisitCUDAKernelCallExpr()
2372 void ASTStmtReader::VisitAsTypeExpr(AsTypeExpr *E) { in VisitAsTypeExpr() argument
2373 VisitExpr(E); in VisitAsTypeExpr()
2374 E->BuiltinLoc = readSourceLocation(); in VisitAsTypeExpr()
2375 E->RParenLoc = readSourceLocation(); in VisitAsTypeExpr()
2376 E->SrcExpr = Record.readSubExpr(); in VisitAsTypeExpr()
2389 void ASTStmtReader::VisitOMPExecutableDirective(OMPExecutableDirective *E) { in VisitOMPExecutableDirective() argument
2390 Record.readOMPChildren(E->Data); in VisitOMPExecutableDirective()
2391 E->setLocStart(readSourceLocation()); in VisitOMPExecutableDirective()
2392 E->setLocEnd(readSourceLocation()); in VisitOMPExecutableDirective()
2393 E->setMappedDirective(Record.readEnum<OpenMPDirectiveKind>()); in VisitOMPExecutableDirective()