Lines Matching refs:E

393                                            E = S->capture_init_end();  in VisitCapturedStmt()  local
394 I != E; ++I) in VisitCapturedStmt()
410 void ASTStmtReader::VisitExpr(Expr *E) { in VisitExpr() argument
411 VisitStmt(E); in VisitExpr()
412 E->setType(Reader.readType(F, Record, Idx)); in VisitExpr()
413 E->setTypeDependent(Record[Idx++]); in VisitExpr()
414 E->setValueDependent(Record[Idx++]); in VisitExpr()
415 E->setInstantiationDependent(Record[Idx++]); in VisitExpr()
416 E->ExprBits.ContainsUnexpandedParameterPack = Record[Idx++]; in VisitExpr()
417 E->setValueKind(static_cast<ExprValueKind>(Record[Idx++])); in VisitExpr()
418 E->setObjectKind(static_cast<ExprObjectKind>(Record[Idx++])); in VisitExpr()
422 void ASTStmtReader::VisitPredefinedExpr(PredefinedExpr *E) { in VisitPredefinedExpr() argument
423 VisitExpr(E); in VisitPredefinedExpr()
424 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitPredefinedExpr()
425 E->Type = (PredefinedExpr::IdentType)Record[Idx++]; in VisitPredefinedExpr()
426 E->FnName = cast_or_null<StringLiteral>(Reader.ReadSubExpr()); in VisitPredefinedExpr()
429 void ASTStmtReader::VisitDeclRefExpr(DeclRefExpr *E) { in VisitDeclRefExpr() argument
430 VisitExpr(E); in VisitDeclRefExpr()
432 E->DeclRefExprBits.HasQualifier = Record[Idx++]; in VisitDeclRefExpr()
433 E->DeclRefExprBits.HasFoundDecl = Record[Idx++]; in VisitDeclRefExpr()
434 E->DeclRefExprBits.HasTemplateKWAndArgsInfo = Record[Idx++]; in VisitDeclRefExpr()
435 E->DeclRefExprBits.HadMultipleCandidates = Record[Idx++]; in VisitDeclRefExpr()
436 E->DeclRefExprBits.RefersToEnclosingVariableOrCapture = Record[Idx++]; in VisitDeclRefExpr()
438 if (E->hasTemplateKWAndArgsInfo()) in VisitDeclRefExpr()
441 if (E->hasQualifier()) in VisitDeclRefExpr()
442 E->getInternalQualifierLoc() in VisitDeclRefExpr()
445 if (E->hasFoundDecl()) in VisitDeclRefExpr()
446 E->getInternalFoundDecl() = ReadDeclAs<NamedDecl>(Record, Idx); in VisitDeclRefExpr()
448 if (E->hasTemplateKWAndArgsInfo()) in VisitDeclRefExpr()
449 ReadTemplateKWAndArgsInfo(*E->getTemplateKWAndArgsInfo(), in VisitDeclRefExpr()
452 E->setDecl(ReadDeclAs<ValueDecl>(Record, Idx)); in VisitDeclRefExpr()
453 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitDeclRefExpr()
454 ReadDeclarationNameLoc(E->DNLoc, E->getDecl()->getDeclName(), Record, Idx); in VisitDeclRefExpr()
457 void ASTStmtReader::VisitIntegerLiteral(IntegerLiteral *E) { in VisitIntegerLiteral() argument
458 VisitExpr(E); in VisitIntegerLiteral()
459 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitIntegerLiteral()
460 E->setValue(Reader.getContext(), Reader.ReadAPInt(Record, Idx)); in VisitIntegerLiteral()
463 void ASTStmtReader::VisitFloatingLiteral(FloatingLiteral *E) { in VisitFloatingLiteral() argument
464 VisitExpr(E); in VisitFloatingLiteral()
465 E->setRawSemantics(static_cast<Stmt::APFloatSemantics>(Record[Idx++])); in VisitFloatingLiteral()
466 E->setExact(Record[Idx++]); in VisitFloatingLiteral()
467 E->setValue(Reader.getContext(), in VisitFloatingLiteral()
468 Reader.ReadAPFloat(Record, E->getSemantics(), Idx)); in VisitFloatingLiteral()
469 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitFloatingLiteral()
472 void ASTStmtReader::VisitImaginaryLiteral(ImaginaryLiteral *E) { in VisitImaginaryLiteral() argument
473 VisitExpr(E); in VisitImaginaryLiteral()
474 E->setSubExpr(Reader.ReadSubExpr()); in VisitImaginaryLiteral()
477 void ASTStmtReader::VisitStringLiteral(StringLiteral *E) { in VisitStringLiteral() argument
478 VisitExpr(E); in VisitStringLiteral()
480 assert(Record[Idx] == E->getNumConcatenated() && in VisitStringLiteral()
489 E->setString(Reader.getContext(), Str.str(), kind, isPascal); in VisitStringLiteral()
493 for (unsigned I = 0, N = E->getNumConcatenated(); I != N; ++I) in VisitStringLiteral()
494 E->setStrTokenLoc(I, ReadSourceLocation(Record, Idx)); in VisitStringLiteral()
497 void ASTStmtReader::VisitCharacterLiteral(CharacterLiteral *E) { in VisitCharacterLiteral() argument
498 VisitExpr(E); in VisitCharacterLiteral()
499 E->setValue(Record[Idx++]); in VisitCharacterLiteral()
500 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitCharacterLiteral()
501 E->setKind(static_cast<CharacterLiteral::CharacterKind>(Record[Idx++])); in VisitCharacterLiteral()
504 void ASTStmtReader::VisitParenExpr(ParenExpr *E) { in VisitParenExpr() argument
505 VisitExpr(E); in VisitParenExpr()
506 E->setLParen(ReadSourceLocation(Record, Idx)); in VisitParenExpr()
507 E->setRParen(ReadSourceLocation(Record, Idx)); in VisitParenExpr()
508 E->setSubExpr(Reader.ReadSubExpr()); in VisitParenExpr()
511 void ASTStmtReader::VisitParenListExpr(ParenListExpr *E) { in VisitParenListExpr() argument
512 VisitExpr(E); in VisitParenListExpr()
514 E->Exprs = new (Reader.getContext()) Stmt*[NumExprs]; in VisitParenListExpr()
516 E->Exprs[i] = Reader.ReadSubStmt(); in VisitParenListExpr()
517 E->NumExprs = NumExprs; in VisitParenListExpr()
518 E->LParenLoc = ReadSourceLocation(Record, Idx); in VisitParenListExpr()
519 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitParenListExpr()
522 void ASTStmtReader::VisitUnaryOperator(UnaryOperator *E) { in VisitUnaryOperator() argument
523 VisitExpr(E); in VisitUnaryOperator()
524 E->setSubExpr(Reader.ReadSubExpr()); in VisitUnaryOperator()
525 E->setOpcode((UnaryOperator::Opcode)Record[Idx++]); in VisitUnaryOperator()
526 E->setOperatorLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryOperator()
529 void ASTStmtReader::VisitOffsetOfExpr(OffsetOfExpr *E) { in VisitOffsetOfExpr() argument
531 VisitExpr(E); in VisitOffsetOfExpr()
532 assert(E->getNumComponents() == Record[Idx]); in VisitOffsetOfExpr()
534 assert(E->getNumExpressions() == Record[Idx]); in VisitOffsetOfExpr()
536 E->setOperatorLoc(ReadSourceLocation(Record, Idx)); in VisitOffsetOfExpr()
537 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitOffsetOfExpr()
538 E->setTypeSourceInfo(GetTypeSourceInfo(Record, Idx)); in VisitOffsetOfExpr()
539 for (unsigned I = 0, N = E->getNumComponents(); I != N; ++I) { in VisitOffsetOfExpr()
545 E->setComponent(I, Node(Start, Record[Idx++], End)); in VisitOffsetOfExpr()
549 E->setComponent(I, Node(Start, ReadDeclAs<FieldDecl>(Record, Idx), End)); in VisitOffsetOfExpr()
553 E->setComponent(I, in VisitOffsetOfExpr()
562 E->setComponent(I, Node(Base)); in VisitOffsetOfExpr()
568 for (unsigned I = 0, N = E->getNumExpressions(); I != N; ++I) in VisitOffsetOfExpr()
569 E->setIndexExpr(I, Reader.ReadSubExpr()); in VisitOffsetOfExpr()
572 void ASTStmtReader::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *E) { in VisitUnaryExprOrTypeTraitExpr() argument
573 VisitExpr(E); in VisitUnaryExprOrTypeTraitExpr()
574 E->setKind(static_cast<UnaryExprOrTypeTrait>(Record[Idx++])); in VisitUnaryExprOrTypeTraitExpr()
576 E->setArgument(Reader.ReadSubExpr()); in VisitUnaryExprOrTypeTraitExpr()
579 E->setArgument(GetTypeSourceInfo(Record, Idx)); in VisitUnaryExprOrTypeTraitExpr()
581 E->setOperatorLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryExprOrTypeTraitExpr()
582 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitUnaryExprOrTypeTraitExpr()
585 void ASTStmtReader::VisitArraySubscriptExpr(ArraySubscriptExpr *E) { in VisitArraySubscriptExpr() argument
586 VisitExpr(E); in VisitArraySubscriptExpr()
587 E->setLHS(Reader.ReadSubExpr()); in VisitArraySubscriptExpr()
588 E->setRHS(Reader.ReadSubExpr()); in VisitArraySubscriptExpr()
589 E->setRBracketLoc(ReadSourceLocation(Record, Idx)); in VisitArraySubscriptExpr()
592 void ASTStmtReader::VisitCallExpr(CallExpr *E) { in VisitCallExpr() argument
593 VisitExpr(E); in VisitCallExpr()
594 E->setNumArgs(Reader.getContext(), Record[Idx++]); in VisitCallExpr()
595 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitCallExpr()
596 E->setCallee(Reader.ReadSubExpr()); in VisitCallExpr()
597 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitCallExpr()
598 E->setArg(I, Reader.ReadSubExpr()); in VisitCallExpr()
601 void ASTStmtReader::VisitCXXMemberCallExpr(CXXMemberCallExpr *E) { in VisitCXXMemberCallExpr() argument
602 VisitCallExpr(E); in VisitCXXMemberCallExpr()
605 void ASTStmtReader::VisitMemberExpr(MemberExpr *E) { in VisitMemberExpr() argument
607 assert(E->getStmtClass() == Stmt::MemberExprClass && in VisitMemberExpr()
611 void ASTStmtReader::VisitObjCIsaExpr(ObjCIsaExpr *E) { in VisitObjCIsaExpr() argument
612 VisitExpr(E); in VisitObjCIsaExpr()
613 E->setBase(Reader.ReadSubExpr()); in VisitObjCIsaExpr()
614 E->setIsaMemberLoc(ReadSourceLocation(Record, Idx)); in VisitObjCIsaExpr()
615 E->setOpLoc(ReadSourceLocation(Record, Idx)); in VisitObjCIsaExpr()
616 E->setArrow(Record[Idx++]); in VisitObjCIsaExpr()
620 VisitObjCIndirectCopyRestoreExpr(ObjCIndirectCopyRestoreExpr *E) { in VisitObjCIndirectCopyRestoreExpr() argument
621 VisitExpr(E); in VisitObjCIndirectCopyRestoreExpr()
622 E->Operand = Reader.ReadSubExpr(); in VisitObjCIndirectCopyRestoreExpr()
623 E->setShouldCopy(Record[Idx++]); in VisitObjCIndirectCopyRestoreExpr()
626 void ASTStmtReader::VisitObjCBridgedCastExpr(ObjCBridgedCastExpr *E) { in VisitObjCBridgedCastExpr() argument
627 VisitExplicitCastExpr(E); in VisitObjCBridgedCastExpr()
628 E->LParenLoc = ReadSourceLocation(Record, Idx); in VisitObjCBridgedCastExpr()
629 E->BridgeKeywordLoc = ReadSourceLocation(Record, Idx); in VisitObjCBridgedCastExpr()
630 E->Kind = Record[Idx++]; in VisitObjCBridgedCastExpr()
633 void ASTStmtReader::VisitCastExpr(CastExpr *E) { in VisitCastExpr() argument
634 VisitExpr(E); in VisitCastExpr()
636 assert(NumBaseSpecs == E->path_size()); in VisitCastExpr()
637 E->setSubExpr(Reader.ReadSubExpr()); in VisitCastExpr()
638 E->setCastKind((CastKind)Record[Idx++]); in VisitCastExpr()
639 CastExpr::path_iterator BaseI = E->path_begin(); in VisitCastExpr()
647 void ASTStmtReader::VisitBinaryOperator(BinaryOperator *E) { in VisitBinaryOperator() argument
648 VisitExpr(E); in VisitBinaryOperator()
649 E->setLHS(Reader.ReadSubExpr()); in VisitBinaryOperator()
650 E->setRHS(Reader.ReadSubExpr()); in VisitBinaryOperator()
651 E->setOpcode((BinaryOperator::Opcode)Record[Idx++]); in VisitBinaryOperator()
652 E->setOperatorLoc(ReadSourceLocation(Record, Idx)); in VisitBinaryOperator()
653 E->setFPContractable((bool)Record[Idx++]); in VisitBinaryOperator()
656 void ASTStmtReader::VisitCompoundAssignOperator(CompoundAssignOperator *E) { in VisitCompoundAssignOperator() argument
657 VisitBinaryOperator(E); in VisitCompoundAssignOperator()
658 E->setComputationLHSType(Reader.readType(F, Record, Idx)); in VisitCompoundAssignOperator()
659 E->setComputationResultType(Reader.readType(F, Record, Idx)); in VisitCompoundAssignOperator()
662 void ASTStmtReader::VisitConditionalOperator(ConditionalOperator *E) { in VisitConditionalOperator() argument
663 VisitExpr(E); in VisitConditionalOperator()
664 E->SubExprs[ConditionalOperator::COND] = Reader.ReadSubExpr(); in VisitConditionalOperator()
665 E->SubExprs[ConditionalOperator::LHS] = Reader.ReadSubExpr(); in VisitConditionalOperator()
666 E->SubExprs[ConditionalOperator::RHS] = Reader.ReadSubExpr(); in VisitConditionalOperator()
667 E->QuestionLoc = ReadSourceLocation(Record, Idx); in VisitConditionalOperator()
668 E->ColonLoc = ReadSourceLocation(Record, Idx); in VisitConditionalOperator()
672 ASTStmtReader::VisitBinaryConditionalOperator(BinaryConditionalOperator *E) { in VisitBinaryConditionalOperator() argument
673 VisitExpr(E); in VisitBinaryConditionalOperator()
674 E->OpaqueValue = cast<OpaqueValueExpr>(Reader.ReadSubExpr()); in VisitBinaryConditionalOperator()
675 E->SubExprs[BinaryConditionalOperator::COMMON] = Reader.ReadSubExpr(); in VisitBinaryConditionalOperator()
676 E->SubExprs[BinaryConditionalOperator::COND] = Reader.ReadSubExpr(); in VisitBinaryConditionalOperator()
677 E->SubExprs[BinaryConditionalOperator::LHS] = Reader.ReadSubExpr(); in VisitBinaryConditionalOperator()
678 E->SubExprs[BinaryConditionalOperator::RHS] = Reader.ReadSubExpr(); in VisitBinaryConditionalOperator()
679 E->QuestionLoc = ReadSourceLocation(Record, Idx); in VisitBinaryConditionalOperator()
680 E->ColonLoc = ReadSourceLocation(Record, Idx); in VisitBinaryConditionalOperator()
683 void ASTStmtReader::VisitImplicitCastExpr(ImplicitCastExpr *E) { in VisitImplicitCastExpr() argument
684 VisitCastExpr(E); in VisitImplicitCastExpr()
687 void ASTStmtReader::VisitExplicitCastExpr(ExplicitCastExpr *E) { in VisitExplicitCastExpr() argument
688 VisitCastExpr(E); in VisitExplicitCastExpr()
689 E->setTypeInfoAsWritten(GetTypeSourceInfo(Record, Idx)); in VisitExplicitCastExpr()
692 void ASTStmtReader::VisitCStyleCastExpr(CStyleCastExpr *E) { in VisitCStyleCastExpr() argument
693 VisitExplicitCastExpr(E); in VisitCStyleCastExpr()
694 E->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitCStyleCastExpr()
695 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitCStyleCastExpr()
698 void ASTStmtReader::VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { in VisitCompoundLiteralExpr() argument
699 VisitExpr(E); in VisitCompoundLiteralExpr()
700 E->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitCompoundLiteralExpr()
701 E->setTypeSourceInfo(GetTypeSourceInfo(Record, Idx)); in VisitCompoundLiteralExpr()
702 E->setInitializer(Reader.ReadSubExpr()); in VisitCompoundLiteralExpr()
703 E->setFileScope(Record[Idx++]); in VisitCompoundLiteralExpr()
706 void ASTStmtReader::VisitExtVectorElementExpr(ExtVectorElementExpr *E) { in VisitExtVectorElementExpr() argument
707 VisitExpr(E); in VisitExtVectorElementExpr()
708 E->setBase(Reader.ReadSubExpr()); in VisitExtVectorElementExpr()
709 E->setAccessor(Reader.GetIdentifierInfo(F, Record, Idx)); in VisitExtVectorElementExpr()
710 E->setAccessorLoc(ReadSourceLocation(Record, Idx)); in VisitExtVectorElementExpr()
713 void ASTStmtReader::VisitInitListExpr(InitListExpr *E) { in VisitInitListExpr() argument
714 VisitExpr(E); in VisitInitListExpr()
716 E->setSyntacticForm(SyntForm); in VisitInitListExpr()
717 E->setLBraceLoc(ReadSourceLocation(Record, Idx)); in VisitInitListExpr()
718 E->setRBraceLoc(ReadSourceLocation(Record, Idx)); in VisitInitListExpr()
723 E->ArrayFillerOrUnionFieldInit = filler; in VisitInitListExpr()
725 E->ArrayFillerOrUnionFieldInit = ReadDeclAs<FieldDecl>(Record, Idx); in VisitInitListExpr()
726 E->sawArrayRangeDesignator(Record[Idx++]); in VisitInitListExpr()
728 E->reserveInits(Reader.getContext(), NumInits); in VisitInitListExpr()
732 E->updateInit(Reader.getContext(), I, init ? init : filler); in VisitInitListExpr()
736 E->updateInit(Reader.getContext(), I, Reader.ReadSubExpr()); in VisitInitListExpr()
740 void ASTStmtReader::VisitDesignatedInitExpr(DesignatedInitExpr *E) { in VisitDesignatedInitExpr() argument
743 VisitExpr(E); in VisitDesignatedInitExpr()
745 assert(NumSubExprs == E->getNumSubExprs() && "Wrong number of subexprs"); in VisitDesignatedInitExpr()
747 E->setSubExpr(I, Reader.ReadSubExpr()); in VisitDesignatedInitExpr()
748 E->setEqualOrColonLoc(ReadSourceLocation(Record, Idx)); in VisitDesignatedInitExpr()
749 E->setGNUSyntax(Record[Idx++]); in VisitDesignatedInitExpr()
800 E->setDesignators(Reader.getContext(), in VisitDesignatedInitExpr()
804 void ASTStmtReader::VisitImplicitValueInitExpr(ImplicitValueInitExpr *E) { in VisitImplicitValueInitExpr() argument
805 VisitExpr(E); in VisitImplicitValueInitExpr()
808 void ASTStmtReader::VisitVAArgExpr(VAArgExpr *E) { in VisitVAArgExpr() argument
809 VisitExpr(E); in VisitVAArgExpr()
810 E->setSubExpr(Reader.ReadSubExpr()); in VisitVAArgExpr()
811 E->setWrittenTypeInfo(GetTypeSourceInfo(Record, Idx)); in VisitVAArgExpr()
812 E->setBuiltinLoc(ReadSourceLocation(Record, Idx)); in VisitVAArgExpr()
813 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitVAArgExpr()
816 void ASTStmtReader::VisitAddrLabelExpr(AddrLabelExpr *E) { in VisitAddrLabelExpr() argument
817 VisitExpr(E); in VisitAddrLabelExpr()
818 E->setAmpAmpLoc(ReadSourceLocation(Record, Idx)); in VisitAddrLabelExpr()
819 E->setLabelLoc(ReadSourceLocation(Record, Idx)); in VisitAddrLabelExpr()
820 E->setLabel(ReadDeclAs<LabelDecl>(Record, Idx)); in VisitAddrLabelExpr()
823 void ASTStmtReader::VisitStmtExpr(StmtExpr *E) { in VisitStmtExpr() argument
824 VisitExpr(E); in VisitStmtExpr()
825 E->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitStmtExpr()
826 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitStmtExpr()
827 E->setSubStmt(cast_or_null<CompoundStmt>(Reader.ReadSubStmt())); in VisitStmtExpr()
830 void ASTStmtReader::VisitChooseExpr(ChooseExpr *E) { in VisitChooseExpr() argument
831 VisitExpr(E); in VisitChooseExpr()
832 E->setCond(Reader.ReadSubExpr()); in VisitChooseExpr()
833 E->setLHS(Reader.ReadSubExpr()); in VisitChooseExpr()
834 E->setRHS(Reader.ReadSubExpr()); in VisitChooseExpr()
835 E->setBuiltinLoc(ReadSourceLocation(Record, Idx)); in VisitChooseExpr()
836 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitChooseExpr()
837 E->setIsConditionTrue(Record[Idx++]); in VisitChooseExpr()
840 void ASTStmtReader::VisitGNUNullExpr(GNUNullExpr *E) { in VisitGNUNullExpr() argument
841 VisitExpr(E); in VisitGNUNullExpr()
842 E->setTokenLocation(ReadSourceLocation(Record, Idx)); in VisitGNUNullExpr()
845 void ASTStmtReader::VisitShuffleVectorExpr(ShuffleVectorExpr *E) { in VisitShuffleVectorExpr() argument
846 VisitExpr(E); in VisitShuffleVectorExpr()
851 E->setExprs(Reader.getContext(), Exprs); in VisitShuffleVectorExpr()
852 E->setBuiltinLoc(ReadSourceLocation(Record, Idx)); in VisitShuffleVectorExpr()
853 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitShuffleVectorExpr()
856 void ASTStmtReader::VisitConvertVectorExpr(ConvertVectorExpr *E) { in VisitConvertVectorExpr() argument
857 VisitExpr(E); in VisitConvertVectorExpr()
858 E->BuiltinLoc = ReadSourceLocation(Record, Idx); in VisitConvertVectorExpr()
859 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitConvertVectorExpr()
860 E->TInfo = GetTypeSourceInfo(Record, Idx); in VisitConvertVectorExpr()
861 E->SrcExpr = Reader.ReadSubExpr(); in VisitConvertVectorExpr()
864 void ASTStmtReader::VisitBlockExpr(BlockExpr *E) { in VisitBlockExpr() argument
865 VisitExpr(E); in VisitBlockExpr()
866 E->setBlockDecl(ReadDeclAs<BlockDecl>(Record, Idx)); in VisitBlockExpr()
869 void ASTStmtReader::VisitGenericSelectionExpr(GenericSelectionExpr *E) { in VisitGenericSelectionExpr() argument
870 VisitExpr(E); in VisitGenericSelectionExpr()
871 E->NumAssocs = Record[Idx++]; in VisitGenericSelectionExpr()
872 E->AssocTypes = new (Reader.getContext()) TypeSourceInfo*[E->NumAssocs]; in VisitGenericSelectionExpr()
873 E->SubExprs = in VisitGenericSelectionExpr()
874 new(Reader.getContext()) Stmt*[GenericSelectionExpr::END_EXPR+E->NumAssocs]; in VisitGenericSelectionExpr()
876 E->SubExprs[GenericSelectionExpr::CONTROLLING] = Reader.ReadSubExpr(); in VisitGenericSelectionExpr()
877 for (unsigned I = 0, N = E->getNumAssocs(); I != N; ++I) { in VisitGenericSelectionExpr()
878 E->AssocTypes[I] = GetTypeSourceInfo(Record, Idx); in VisitGenericSelectionExpr()
879 E->SubExprs[GenericSelectionExpr::END_EXPR+I] = Reader.ReadSubExpr(); in VisitGenericSelectionExpr()
881 E->ResultIndex = Record[Idx++]; in VisitGenericSelectionExpr()
883 E->GenericLoc = ReadSourceLocation(Record, Idx); in VisitGenericSelectionExpr()
884 E->DefaultLoc = ReadSourceLocation(Record, Idx); in VisitGenericSelectionExpr()
885 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitGenericSelectionExpr()
888 void ASTStmtReader::VisitPseudoObjectExpr(PseudoObjectExpr *E) { in VisitPseudoObjectExpr() argument
889 VisitExpr(E); in VisitPseudoObjectExpr()
891 assert(numSemanticExprs + 1 == E->PseudoObjectExprBits.NumSubExprs); in VisitPseudoObjectExpr()
892 E->PseudoObjectExprBits.ResultIndex = Record[Idx++]; in VisitPseudoObjectExpr()
895 E->getSubExprsBuffer()[0] = Reader.ReadSubExpr(); in VisitPseudoObjectExpr()
900 E->getSubExprsBuffer()[i+1] = subExpr; in VisitPseudoObjectExpr()
904 void ASTStmtReader::VisitAtomicExpr(AtomicExpr *E) { in VisitAtomicExpr() argument
905 VisitExpr(E); in VisitAtomicExpr()
906 E->Op = AtomicExpr::AtomicOp(Record[Idx++]); in VisitAtomicExpr()
907 E->NumSubExprs = AtomicExpr::getNumSubExprs(E->Op); in VisitAtomicExpr()
908 for (unsigned I = 0; I != E->NumSubExprs; ++I) in VisitAtomicExpr()
909 E->SubExprs[I] = Reader.ReadSubExpr(); in VisitAtomicExpr()
910 E->BuiltinLoc = ReadSourceLocation(Record, Idx); in VisitAtomicExpr()
911 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitAtomicExpr()
917 void ASTStmtReader::VisitObjCStringLiteral(ObjCStringLiteral *E) { in VisitObjCStringLiteral() argument
918 VisitExpr(E); in VisitObjCStringLiteral()
919 E->setString(cast<StringLiteral>(Reader.ReadSubStmt())); in VisitObjCStringLiteral()
920 E->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCStringLiteral()
923 void ASTStmtReader::VisitObjCBoxedExpr(ObjCBoxedExpr *E) { in VisitObjCBoxedExpr() argument
924 VisitExpr(E); in VisitObjCBoxedExpr()
926 E->SubExpr = Reader.ReadSubStmt(); in VisitObjCBoxedExpr()
927 E->BoxingMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx); in VisitObjCBoxedExpr()
928 E->Range = ReadSourceRange(Record, Idx); in VisitObjCBoxedExpr()
931 void ASTStmtReader::VisitObjCArrayLiteral(ObjCArrayLiteral *E) { in VisitObjCArrayLiteral() argument
932 VisitExpr(E); in VisitObjCArrayLiteral()
934 assert(NumElements == E->getNumElements() && "Wrong number of elements"); in VisitObjCArrayLiteral()
935 Expr **Elements = E->getElements(); in VisitObjCArrayLiteral()
938 E->ArrayWithObjectsMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx); in VisitObjCArrayLiteral()
939 E->Range = ReadSourceRange(Record, Idx); in VisitObjCArrayLiteral()
942 void ASTStmtReader::VisitObjCDictionaryLiteral(ObjCDictionaryLiteral *E) { in VisitObjCDictionaryLiteral() argument
943 VisitExpr(E); in VisitObjCDictionaryLiteral()
945 assert(NumElements == E->getNumElements() && "Wrong number of elements"); in VisitObjCDictionaryLiteral()
947 assert(HasPackExpansions == E->HasPackExpansions &&"Pack expansion mismatch"); in VisitObjCDictionaryLiteral()
948 ObjCDictionaryLiteral::KeyValuePair *KeyValues = E->getKeyValues(); in VisitObjCDictionaryLiteral()
949 ObjCDictionaryLiteral::ExpansionData *Expansions = E->getExpansionData(); in VisitObjCDictionaryLiteral()
958 E->DictWithObjectsMethod = ReadDeclAs<ObjCMethodDecl>(Record, Idx); in VisitObjCDictionaryLiteral()
959 E->Range = ReadSourceRange(Record, Idx); in VisitObjCDictionaryLiteral()
962 void ASTStmtReader::VisitObjCEncodeExpr(ObjCEncodeExpr *E) { in VisitObjCEncodeExpr() argument
963 VisitExpr(E); in VisitObjCEncodeExpr()
964 E->setEncodedTypeSourceInfo(GetTypeSourceInfo(Record, Idx)); in VisitObjCEncodeExpr()
965 E->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCEncodeExpr()
966 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitObjCEncodeExpr()
969 void ASTStmtReader::VisitObjCSelectorExpr(ObjCSelectorExpr *E) { in VisitObjCSelectorExpr() argument
970 VisitExpr(E); in VisitObjCSelectorExpr()
971 E->setSelector(Reader.ReadSelector(F, Record, Idx)); in VisitObjCSelectorExpr()
972 E->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCSelectorExpr()
973 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitObjCSelectorExpr()
976 void ASTStmtReader::VisitObjCProtocolExpr(ObjCProtocolExpr *E) { in VisitObjCProtocolExpr() argument
977 VisitExpr(E); in VisitObjCProtocolExpr()
978 E->setProtocol(ReadDeclAs<ObjCProtocolDecl>(Record, Idx)); in VisitObjCProtocolExpr()
979 E->setAtLoc(ReadSourceLocation(Record, Idx)); in VisitObjCProtocolExpr()
980 E->ProtoLoc = ReadSourceLocation(Record, Idx); in VisitObjCProtocolExpr()
981 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitObjCProtocolExpr()
984 void ASTStmtReader::VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) { in VisitObjCIvarRefExpr() argument
985 VisitExpr(E); in VisitObjCIvarRefExpr()
986 E->setDecl(ReadDeclAs<ObjCIvarDecl>(Record, Idx)); in VisitObjCIvarRefExpr()
987 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitObjCIvarRefExpr()
988 E->setOpLoc(ReadSourceLocation(Record, Idx)); in VisitObjCIvarRefExpr()
989 E->setBase(Reader.ReadSubExpr()); in VisitObjCIvarRefExpr()
990 E->setIsArrow(Record[Idx++]); in VisitObjCIvarRefExpr()
991 E->setIsFreeIvar(Record[Idx++]); in VisitObjCIvarRefExpr()
994 void ASTStmtReader::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { in VisitObjCPropertyRefExpr() argument
995 VisitExpr(E); in VisitObjCPropertyRefExpr()
1001 E->setImplicitProperty(Getter, Setter, MethodRefFlags); in VisitObjCPropertyRefExpr()
1003 E->setExplicitProperty(ReadDeclAs<ObjCPropertyDecl>(Record, Idx), in VisitObjCPropertyRefExpr()
1006 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitObjCPropertyRefExpr()
1007 E->setReceiverLocation(ReadSourceLocation(Record, Idx)); in VisitObjCPropertyRefExpr()
1010 E->setBase(Reader.ReadSubExpr()); in VisitObjCPropertyRefExpr()
1013 E->setSuperReceiver(Reader.readType(F, Record, Idx)); in VisitObjCPropertyRefExpr()
1016 E->setClassReceiver(ReadDeclAs<ObjCInterfaceDecl>(Record, Idx)); in VisitObjCPropertyRefExpr()
1021 void ASTStmtReader::VisitObjCSubscriptRefExpr(ObjCSubscriptRefExpr *E) { in VisitObjCSubscriptRefExpr() argument
1022 VisitExpr(E); in VisitObjCSubscriptRefExpr()
1023 E->setRBracket(ReadSourceLocation(Record, Idx)); in VisitObjCSubscriptRefExpr()
1024 E->setBaseExpr(Reader.ReadSubExpr()); in VisitObjCSubscriptRefExpr()
1025 E->setKeyExpr(Reader.ReadSubExpr()); in VisitObjCSubscriptRefExpr()
1026 E->GetAtIndexMethodDecl = ReadDeclAs<ObjCMethodDecl>(Record, Idx); in VisitObjCSubscriptRefExpr()
1027 E->SetAtIndexMethodDecl = ReadDeclAs<ObjCMethodDecl>(Record, Idx); in VisitObjCSubscriptRefExpr()
1030 void ASTStmtReader::VisitObjCMessageExpr(ObjCMessageExpr *E) { in VisitObjCMessageExpr() argument
1031 VisitExpr(E); in VisitObjCMessageExpr()
1032 assert(Record[Idx] == E->getNumArgs()); in VisitObjCMessageExpr()
1035 E->SelLocsKind = Record[Idx++]; in VisitObjCMessageExpr()
1036 E->setDelegateInitCall(Record[Idx++]); in VisitObjCMessageExpr()
1037 E->IsImplicit = Record[Idx++]; in VisitObjCMessageExpr()
1042 E->setInstanceReceiver(Reader.ReadSubExpr()); in VisitObjCMessageExpr()
1046 E->setClassReceiver(GetTypeSourceInfo(Record, Idx)); in VisitObjCMessageExpr()
1053 E->setSuper(SuperLoc, T, Kind == ObjCMessageExpr::SuperInstance); in VisitObjCMessageExpr()
1058 assert(Kind == E->getReceiverKind()); in VisitObjCMessageExpr()
1061 E->setMethodDecl(ReadDeclAs<ObjCMethodDecl>(Record, Idx)); in VisitObjCMessageExpr()
1063 E->setSelector(Reader.ReadSelector(F, Record, Idx)); in VisitObjCMessageExpr()
1065 E->LBracLoc = ReadSourceLocation(Record, Idx); in VisitObjCMessageExpr()
1066 E->RBracLoc = ReadSourceLocation(Record, Idx); in VisitObjCMessageExpr()
1068 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitObjCMessageExpr()
1069 E->setArg(I, Reader.ReadSubExpr()); in VisitObjCMessageExpr()
1071 SourceLocation *Locs = E->getStoredSelLocs(); in VisitObjCMessageExpr()
1132 void ASTStmtReader::VisitObjCBoolLiteralExpr(ObjCBoolLiteralExpr *E) { in VisitObjCBoolLiteralExpr() argument
1133 VisitExpr(E); in VisitObjCBoolLiteralExpr()
1134 E->setValue(Record[Idx++]); in VisitObjCBoolLiteralExpr()
1135 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitObjCBoolLiteralExpr()
1181 void ASTStmtReader::VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E) { in VisitCXXOperatorCallExpr() argument
1182 VisitCallExpr(E); in VisitCXXOperatorCallExpr()
1183 E->Operator = (OverloadedOperatorKind)Record[Idx++]; in VisitCXXOperatorCallExpr()
1184 E->Range = Reader.ReadSourceRange(F, Record, Idx); in VisitCXXOperatorCallExpr()
1185 E->setFPContractable((bool)Record[Idx++]); in VisitCXXOperatorCallExpr()
1188 void ASTStmtReader::VisitCXXConstructExpr(CXXConstructExpr *E) { in VisitCXXConstructExpr() argument
1189 VisitExpr(E); in VisitCXXConstructExpr()
1190 E->NumArgs = Record[Idx++]; in VisitCXXConstructExpr()
1191 if (E->NumArgs) in VisitCXXConstructExpr()
1192 E->Args = new (Reader.getContext()) Stmt*[E->NumArgs]; in VisitCXXConstructExpr()
1193 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitCXXConstructExpr()
1194 E->setArg(I, Reader.ReadSubExpr()); in VisitCXXConstructExpr()
1195 E->setConstructor(ReadDeclAs<CXXConstructorDecl>(Record, Idx)); in VisitCXXConstructExpr()
1196 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitCXXConstructExpr()
1197 E->setElidable(Record[Idx++]); in VisitCXXConstructExpr()
1198 E->setHadMultipleCandidates(Record[Idx++]); in VisitCXXConstructExpr()
1199 E->setListInitialization(Record[Idx++]); in VisitCXXConstructExpr()
1200 E->setStdInitListInitialization(Record[Idx++]); in VisitCXXConstructExpr()
1201 E->setRequiresZeroInitialization(Record[Idx++]); in VisitCXXConstructExpr()
1202 E->setConstructionKind((CXXConstructExpr::ConstructionKind)Record[Idx++]); in VisitCXXConstructExpr()
1203 E->ParenOrBraceRange = ReadSourceRange(Record, Idx); in VisitCXXConstructExpr()
1206 void ASTStmtReader::VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *E) { in VisitCXXTemporaryObjectExpr() argument
1207 VisitCXXConstructExpr(E); in VisitCXXTemporaryObjectExpr()
1208 E->Type = GetTypeSourceInfo(Record, Idx); in VisitCXXTemporaryObjectExpr()
1211 void ASTStmtReader::VisitLambdaExpr(LambdaExpr *E) { in VisitLambdaExpr() argument
1212 VisitExpr(E); in VisitLambdaExpr()
1214 assert(NumCaptures == E->NumCaptures);(void)NumCaptures; in VisitLambdaExpr()
1216 E->IntroducerRange = ReadSourceRange(Record, Idx); in VisitLambdaExpr()
1217 E->CaptureDefault = static_cast<LambdaCaptureDefault>(Record[Idx++]); in VisitLambdaExpr()
1218 E->CaptureDefaultLoc = ReadSourceLocation(Record, Idx); in VisitLambdaExpr()
1219 E->ExplicitParams = Record[Idx++]; in VisitLambdaExpr()
1220 E->ExplicitResultType = Record[Idx++]; in VisitLambdaExpr()
1221 E->ClosingBrace = ReadSourceLocation(Record, Idx); in VisitLambdaExpr()
1224 for (LambdaExpr::capture_init_iterator C = E->capture_init_begin(), in VisitLambdaExpr()
1225 CEnd = E->capture_init_end(); in VisitLambdaExpr()
1231 unsigned *ArrayIndexStarts = E->getArrayIndexStarts(); in VisitLambdaExpr()
1235 VarDecl **ArrayIndexVars = E->getArrayIndexVars(); in VisitLambdaExpr()
1242 ASTStmtReader::VisitCXXStdInitializerListExpr(CXXStdInitializerListExpr *E) { in VisitCXXStdInitializerListExpr() argument
1243 VisitExpr(E); in VisitCXXStdInitializerListExpr()
1244 E->SubExpr = Reader.ReadSubExpr(); in VisitCXXStdInitializerListExpr()
1247 void ASTStmtReader::VisitCXXNamedCastExpr(CXXNamedCastExpr *E) { in VisitCXXNamedCastExpr() argument
1248 VisitExplicitCastExpr(E); in VisitCXXNamedCastExpr()
1250 E->Loc = R.getBegin(); in VisitCXXNamedCastExpr()
1251 E->RParenLoc = R.getEnd(); in VisitCXXNamedCastExpr()
1253 E->AngleBrackets = R; in VisitCXXNamedCastExpr()
1256 void ASTStmtReader::VisitCXXStaticCastExpr(CXXStaticCastExpr *E) { in VisitCXXStaticCastExpr() argument
1257 return VisitCXXNamedCastExpr(E); in VisitCXXStaticCastExpr()
1260 void ASTStmtReader::VisitCXXDynamicCastExpr(CXXDynamicCastExpr *E) { in VisitCXXDynamicCastExpr() argument
1261 return VisitCXXNamedCastExpr(E); in VisitCXXDynamicCastExpr()
1264 void ASTStmtReader::VisitCXXReinterpretCastExpr(CXXReinterpretCastExpr *E) { in VisitCXXReinterpretCastExpr() argument
1265 return VisitCXXNamedCastExpr(E); in VisitCXXReinterpretCastExpr()
1268 void ASTStmtReader::VisitCXXConstCastExpr(CXXConstCastExpr *E) { in VisitCXXConstCastExpr() argument
1269 return VisitCXXNamedCastExpr(E); in VisitCXXConstCastExpr()
1272 void ASTStmtReader::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E) { in VisitCXXFunctionalCastExpr() argument
1273 VisitExplicitCastExpr(E); in VisitCXXFunctionalCastExpr()
1274 E->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitCXXFunctionalCastExpr()
1275 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitCXXFunctionalCastExpr()
1278 void ASTStmtReader::VisitUserDefinedLiteral(UserDefinedLiteral *E) { in VisitUserDefinedLiteral() argument
1279 VisitCallExpr(E); in VisitUserDefinedLiteral()
1280 E->UDSuffixLoc = ReadSourceLocation(Record, Idx); in VisitUserDefinedLiteral()
1283 void ASTStmtReader::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) { in VisitCXXBoolLiteralExpr() argument
1284 VisitExpr(E); in VisitCXXBoolLiteralExpr()
1285 E->setValue(Record[Idx++]); in VisitCXXBoolLiteralExpr()
1286 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitCXXBoolLiteralExpr()
1289 void ASTStmtReader::VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E) { in VisitCXXNullPtrLiteralExpr() argument
1290 VisitExpr(E); in VisitCXXNullPtrLiteralExpr()
1291 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitCXXNullPtrLiteralExpr()
1294 void ASTStmtReader::VisitCXXTypeidExpr(CXXTypeidExpr *E) { in VisitCXXTypeidExpr() argument
1295 VisitExpr(E); in VisitCXXTypeidExpr()
1296 E->setSourceRange(ReadSourceRange(Record, Idx)); in VisitCXXTypeidExpr()
1297 if (E->isTypeOperand()) { // typeid(int) in VisitCXXTypeidExpr()
1298 E->setTypeOperandSourceInfo( in VisitCXXTypeidExpr()
1304 E->setExprOperand(Reader.ReadSubExpr()); in VisitCXXTypeidExpr()
1307 void ASTStmtReader::VisitCXXThisExpr(CXXThisExpr *E) { in VisitCXXThisExpr() argument
1308 VisitExpr(E); in VisitCXXThisExpr()
1309 E->setLocation(ReadSourceLocation(Record, Idx)); in VisitCXXThisExpr()
1310 E->setImplicit(Record[Idx++]); in VisitCXXThisExpr()
1313 void ASTStmtReader::VisitCXXThrowExpr(CXXThrowExpr *E) { in VisitCXXThrowExpr() argument
1314 VisitExpr(E); in VisitCXXThrowExpr()
1315 E->ThrowLoc = ReadSourceLocation(Record, Idx); in VisitCXXThrowExpr()
1316 E->Op = Reader.ReadSubExpr(); in VisitCXXThrowExpr()
1317 E->IsThrownVariableInScope = Record[Idx++]; in VisitCXXThrowExpr()
1320 void ASTStmtReader::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *E) { in VisitCXXDefaultArgExpr() argument
1321 VisitExpr(E); in VisitCXXDefaultArgExpr()
1323 assert((bool)Record[Idx] == E->Param.getInt() && "We messed up at creation ?"); in VisitCXXDefaultArgExpr()
1325 E->Param.setPointer(ReadDeclAs<ParmVarDecl>(Record, Idx)); in VisitCXXDefaultArgExpr()
1326 E->Loc = ReadSourceLocation(Record, Idx); in VisitCXXDefaultArgExpr()
1329 void ASTStmtReader::VisitCXXDefaultInitExpr(CXXDefaultInitExpr *E) { in VisitCXXDefaultInitExpr() argument
1330 VisitExpr(E); in VisitCXXDefaultInitExpr()
1331 E->Field = ReadDeclAs<FieldDecl>(Record, Idx); in VisitCXXDefaultInitExpr()
1332 E->Loc = ReadSourceLocation(Record, Idx); in VisitCXXDefaultInitExpr()
1335 void ASTStmtReader::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) { in VisitCXXBindTemporaryExpr() argument
1336 VisitExpr(E); in VisitCXXBindTemporaryExpr()
1337 E->setTemporary(Reader.ReadCXXTemporary(F, Record, Idx)); in VisitCXXBindTemporaryExpr()
1338 E->setSubExpr(Reader.ReadSubExpr()); in VisitCXXBindTemporaryExpr()
1341 void ASTStmtReader::VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *E) { in VisitCXXScalarValueInitExpr() argument
1342 VisitExpr(E); in VisitCXXScalarValueInitExpr()
1343 E->TypeInfo = GetTypeSourceInfo(Record, Idx); in VisitCXXScalarValueInitExpr()
1344 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitCXXScalarValueInitExpr()
1347 void ASTStmtReader::VisitCXXNewExpr(CXXNewExpr *E) { in VisitCXXNewExpr() argument
1348 VisitExpr(E); in VisitCXXNewExpr()
1349 E->GlobalNew = Record[Idx++]; in VisitCXXNewExpr()
1351 E->UsualArrayDeleteWantsSize = Record[Idx++]; in VisitCXXNewExpr()
1353 E->StoredInitializationStyle = Record[Idx++]; in VisitCXXNewExpr()
1354 E->setOperatorNew(ReadDeclAs<FunctionDecl>(Record, Idx)); in VisitCXXNewExpr()
1355 E->setOperatorDelete(ReadDeclAs<FunctionDecl>(Record, Idx)); in VisitCXXNewExpr()
1356 E->AllocatedTypeInfo = GetTypeSourceInfo(Record, Idx); in VisitCXXNewExpr()
1357 E->TypeIdParens = ReadSourceRange(Record, Idx); in VisitCXXNewExpr()
1358 E->Range = ReadSourceRange(Record, Idx); in VisitCXXNewExpr()
1359 E->DirectInitRange = ReadSourceRange(Record, Idx); in VisitCXXNewExpr()
1361 E->AllocateArgsArray(Reader.getContext(), isArray, NumPlacementArgs, in VisitCXXNewExpr()
1362 E->StoredInitializationStyle != 0); in VisitCXXNewExpr()
1365 for (CXXNewExpr::raw_arg_iterator I = E->raw_arg_begin(),e = E->raw_arg_end(); in VisitCXXNewExpr()
1370 void ASTStmtReader::VisitCXXDeleteExpr(CXXDeleteExpr *E) { in VisitCXXDeleteExpr() argument
1371 VisitExpr(E); in VisitCXXDeleteExpr()
1372 E->GlobalDelete = Record[Idx++]; in VisitCXXDeleteExpr()
1373 E->ArrayForm = Record[Idx++]; in VisitCXXDeleteExpr()
1374 E->ArrayFormAsWritten = Record[Idx++]; in VisitCXXDeleteExpr()
1375 E->UsualArrayDeleteWantsSize = Record[Idx++]; in VisitCXXDeleteExpr()
1376 E->OperatorDelete = ReadDeclAs<FunctionDecl>(Record, Idx); in VisitCXXDeleteExpr()
1377 E->Argument = Reader.ReadSubExpr(); in VisitCXXDeleteExpr()
1378 E->Loc = ReadSourceLocation(Record, Idx); in VisitCXXDeleteExpr()
1381 void ASTStmtReader::VisitCXXPseudoDestructorExpr(CXXPseudoDestructorExpr *E) { in VisitCXXPseudoDestructorExpr() argument
1382 VisitExpr(E); in VisitCXXPseudoDestructorExpr()
1384 E->Base = Reader.ReadSubExpr(); in VisitCXXPseudoDestructorExpr()
1385 E->IsArrow = Record[Idx++]; in VisitCXXPseudoDestructorExpr()
1386 E->OperatorLoc = ReadSourceLocation(Record, Idx); in VisitCXXPseudoDestructorExpr()
1387 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitCXXPseudoDestructorExpr()
1388 E->ScopeType = GetTypeSourceInfo(Record, Idx); in VisitCXXPseudoDestructorExpr()
1389 E->ColonColonLoc = ReadSourceLocation(Record, Idx); in VisitCXXPseudoDestructorExpr()
1390 E->TildeLoc = ReadSourceLocation(Record, Idx); in VisitCXXPseudoDestructorExpr()
1394 E->setDestroyedType(II, ReadSourceLocation(Record, Idx)); in VisitCXXPseudoDestructorExpr()
1396 E->setDestroyedType(GetTypeSourceInfo(Record, Idx)); in VisitCXXPseudoDestructorExpr()
1399 void ASTStmtReader::VisitExprWithCleanups(ExprWithCleanups *E) { in VisitExprWithCleanups() argument
1400 VisitExpr(E); in VisitExprWithCleanups()
1403 assert(NumObjects == E->getNumObjects()); in VisitExprWithCleanups()
1405 E->getObjectsBuffer()[i] = ReadDeclAs<BlockDecl>(Record, Idx); in VisitExprWithCleanups()
1407 E->SubExpr = Reader.ReadSubExpr(); in VisitExprWithCleanups()
1411 ASTStmtReader::VisitCXXDependentScopeMemberExpr(CXXDependentScopeMemberExpr *E){ in VisitCXXDependentScopeMemberExpr() argument
1412 VisitExpr(E); in VisitCXXDependentScopeMemberExpr()
1415 ReadTemplateKWAndArgsInfo(*E->getTemplateKWAndArgsInfo(), in VisitCXXDependentScopeMemberExpr()
1418 E->Base = Reader.ReadSubExpr(); in VisitCXXDependentScopeMemberExpr()
1419 E->BaseType = Reader.readType(F, Record, Idx); in VisitCXXDependentScopeMemberExpr()
1420 E->IsArrow = Record[Idx++]; in VisitCXXDependentScopeMemberExpr()
1421 E->OperatorLoc = ReadSourceLocation(Record, Idx); in VisitCXXDependentScopeMemberExpr()
1422 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitCXXDependentScopeMemberExpr()
1423 E->FirstQualifierFoundInScope = ReadDeclAs<NamedDecl>(Record, Idx); in VisitCXXDependentScopeMemberExpr()
1424 ReadDeclarationNameInfo(E->MemberNameInfo, Record, Idx); in VisitCXXDependentScopeMemberExpr()
1428 ASTStmtReader::VisitDependentScopeDeclRefExpr(DependentScopeDeclRefExpr *E) { in VisitDependentScopeDeclRefExpr() argument
1429 VisitExpr(E); in VisitDependentScopeDeclRefExpr()
1432 ReadTemplateKWAndArgsInfo(*E->getTemplateKWAndArgsInfo(), in VisitDependentScopeDeclRefExpr()
1435 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitDependentScopeDeclRefExpr()
1436 ReadDeclarationNameInfo(E->NameInfo, Record, Idx); in VisitDependentScopeDeclRefExpr()
1440 ASTStmtReader::VisitCXXUnresolvedConstructExpr(CXXUnresolvedConstructExpr *E) { in VisitCXXUnresolvedConstructExpr() argument
1441 VisitExpr(E); in VisitCXXUnresolvedConstructExpr()
1442 assert(Record[Idx] == E->arg_size() && "Read wrong record during creation ?"); in VisitCXXUnresolvedConstructExpr()
1444 for (unsigned I = 0, N = E->arg_size(); I != N; ++I) in VisitCXXUnresolvedConstructExpr()
1445 E->setArg(I, Reader.ReadSubExpr()); in VisitCXXUnresolvedConstructExpr()
1446 E->Type = GetTypeSourceInfo(Record, Idx); in VisitCXXUnresolvedConstructExpr()
1447 E->setLParenLoc(ReadSourceLocation(Record, Idx)); in VisitCXXUnresolvedConstructExpr()
1448 E->setRParenLoc(ReadSourceLocation(Record, Idx)); in VisitCXXUnresolvedConstructExpr()
1451 void ASTStmtReader::VisitOverloadExpr(OverloadExpr *E) { in VisitOverloadExpr() argument
1452 VisitExpr(E); in VisitOverloadExpr()
1455 ReadTemplateKWAndArgsInfo(*E->getTemplateKWAndArgsInfo(), in VisitOverloadExpr()
1465 E->initializeResults(Reader.getContext(), Decls.begin(), Decls.end()); in VisitOverloadExpr()
1467 ReadDeclarationNameInfo(E->NameInfo, Record, Idx); in VisitOverloadExpr()
1468 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitOverloadExpr()
1471 void ASTStmtReader::VisitUnresolvedMemberExpr(UnresolvedMemberExpr *E) { in VisitUnresolvedMemberExpr() argument
1472 VisitOverloadExpr(E); in VisitUnresolvedMemberExpr()
1473 E->IsArrow = Record[Idx++]; in VisitUnresolvedMemberExpr()
1474 E->HasUnresolvedUsing = Record[Idx++]; in VisitUnresolvedMemberExpr()
1475 E->Base = Reader.ReadSubExpr(); in VisitUnresolvedMemberExpr()
1476 E->BaseType = Reader.readType(F, Record, Idx); in VisitUnresolvedMemberExpr()
1477 E->OperatorLoc = ReadSourceLocation(Record, Idx); in VisitUnresolvedMemberExpr()
1480 void ASTStmtReader::VisitUnresolvedLookupExpr(UnresolvedLookupExpr *E) { in VisitUnresolvedLookupExpr() argument
1481 VisitOverloadExpr(E); in VisitUnresolvedLookupExpr()
1482 E->RequiresADL = Record[Idx++]; in VisitUnresolvedLookupExpr()
1483 E->Overloaded = Record[Idx++]; in VisitUnresolvedLookupExpr()
1484 E->NamingClass = ReadDeclAs<CXXRecordDecl>(Record, Idx); in VisitUnresolvedLookupExpr()
1487 void ASTStmtReader::VisitTypeTraitExpr(TypeTraitExpr *E) { in VisitTypeTraitExpr() argument
1488 VisitExpr(E); in VisitTypeTraitExpr()
1489 E->TypeTraitExprBits.NumArgs = Record[Idx++]; in VisitTypeTraitExpr()
1490 E->TypeTraitExprBits.Kind = Record[Idx++]; in VisitTypeTraitExpr()
1491 E->TypeTraitExprBits.Value = Record[Idx++]; in VisitTypeTraitExpr()
1493 E->Loc = Range.getBegin(); in VisitTypeTraitExpr()
1494 E->RParenLoc = Range.getEnd(); in VisitTypeTraitExpr()
1496 TypeSourceInfo **Args = E->getTypeSourceInfos(); in VisitTypeTraitExpr()
1497 for (unsigned I = 0, N = E->getNumArgs(); I != N; ++I) in VisitTypeTraitExpr()
1501 void ASTStmtReader::VisitArrayTypeTraitExpr(ArrayTypeTraitExpr *E) { in VisitArrayTypeTraitExpr() argument
1502 VisitExpr(E); in VisitArrayTypeTraitExpr()
1503 E->ATT = (ArrayTypeTrait)Record[Idx++]; in VisitArrayTypeTraitExpr()
1504 E->Value = (unsigned int)Record[Idx++]; in VisitArrayTypeTraitExpr()
1506 E->Loc = Range.getBegin(); in VisitArrayTypeTraitExpr()
1507 E->RParen = Range.getEnd(); in VisitArrayTypeTraitExpr()
1508 E->QueriedType = GetTypeSourceInfo(Record, Idx); in VisitArrayTypeTraitExpr()
1511 void ASTStmtReader::VisitExpressionTraitExpr(ExpressionTraitExpr *E) { in VisitExpressionTraitExpr() argument
1512 VisitExpr(E); in VisitExpressionTraitExpr()
1513 E->ET = (ExpressionTrait)Record[Idx++]; in VisitExpressionTraitExpr()
1514 E->Value = (bool)Record[Idx++]; in VisitExpressionTraitExpr()
1516 E->QueriedExpression = Reader.ReadSubExpr(); in VisitExpressionTraitExpr()
1517 E->Loc = Range.getBegin(); in VisitExpressionTraitExpr()
1518 E->RParen = Range.getEnd(); in VisitExpressionTraitExpr()
1521 void ASTStmtReader::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) { in VisitCXXNoexceptExpr() argument
1522 VisitExpr(E); in VisitCXXNoexceptExpr()
1523 E->Value = (bool)Record[Idx++]; in VisitCXXNoexceptExpr()
1524 E->Range = ReadSourceRange(Record, Idx); in VisitCXXNoexceptExpr()
1525 E->Operand = Reader.ReadSubExpr(); in VisitCXXNoexceptExpr()
1528 void ASTStmtReader::VisitPackExpansionExpr(PackExpansionExpr *E) { in VisitPackExpansionExpr() argument
1529 VisitExpr(E); in VisitPackExpansionExpr()
1530 E->EllipsisLoc = ReadSourceLocation(Record, Idx); in VisitPackExpansionExpr()
1531 E->NumExpansions = Record[Idx++]; in VisitPackExpansionExpr()
1532 E->Pattern = Reader.ReadSubExpr(); in VisitPackExpansionExpr()
1535 void ASTStmtReader::VisitSizeOfPackExpr(SizeOfPackExpr *E) { in VisitSizeOfPackExpr() argument
1536 VisitExpr(E); in VisitSizeOfPackExpr()
1537 E->OperatorLoc = ReadSourceLocation(Record, Idx); in VisitSizeOfPackExpr()
1538 E->PackLoc = ReadSourceLocation(Record, Idx); in VisitSizeOfPackExpr()
1539 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitSizeOfPackExpr()
1540 E->Length = Record[Idx++]; in VisitSizeOfPackExpr()
1541 E->Pack = ReadDeclAs<NamedDecl>(Record, Idx); in VisitSizeOfPackExpr()
1545 SubstNonTypeTemplateParmExpr *E) { in VisitSubstNonTypeTemplateParmExpr() argument
1546 VisitExpr(E); in VisitSubstNonTypeTemplateParmExpr()
1547 E->Param = ReadDeclAs<NonTypeTemplateParmDecl>(Record, Idx); in VisitSubstNonTypeTemplateParmExpr()
1548 E->NameLoc = ReadSourceLocation(Record, Idx); in VisitSubstNonTypeTemplateParmExpr()
1549 E->Replacement = Reader.ReadSubExpr(); in VisitSubstNonTypeTemplateParmExpr()
1553 SubstNonTypeTemplateParmPackExpr *E) { in VisitSubstNonTypeTemplateParmPackExpr() argument
1554 VisitExpr(E); in VisitSubstNonTypeTemplateParmPackExpr()
1555 E->Param = ReadDeclAs<NonTypeTemplateParmDecl>(Record, Idx); in VisitSubstNonTypeTemplateParmPackExpr()
1560 E->Arguments = ArgPack.pack_begin(); in VisitSubstNonTypeTemplateParmPackExpr()
1561 E->NumArguments = ArgPack.pack_size(); in VisitSubstNonTypeTemplateParmPackExpr()
1562 E->NameLoc = ReadSourceLocation(Record, Idx); in VisitSubstNonTypeTemplateParmPackExpr()
1565 void ASTStmtReader::VisitFunctionParmPackExpr(FunctionParmPackExpr *E) { in VisitFunctionParmPackExpr() argument
1566 VisitExpr(E); in VisitFunctionParmPackExpr()
1567 E->NumParameters = Record[Idx++]; in VisitFunctionParmPackExpr()
1568 E->ParamPack = ReadDeclAs<ParmVarDecl>(Record, Idx); in VisitFunctionParmPackExpr()
1569 E->NameLoc = ReadSourceLocation(Record, Idx); in VisitFunctionParmPackExpr()
1570 ParmVarDecl **Parms = reinterpret_cast<ParmVarDecl**>(E+1); in VisitFunctionParmPackExpr()
1571 for (unsigned i = 0, n = E->NumParameters; i != n; ++i) in VisitFunctionParmPackExpr()
1575 void ASTStmtReader::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E) { in VisitMaterializeTemporaryExpr() argument
1576 VisitExpr(E); in VisitMaterializeTemporaryExpr()
1577 E->State = Reader.ReadSubExpr(); in VisitMaterializeTemporaryExpr()
1580 E->setExtendingDecl(VD, ManglingNumber); in VisitMaterializeTemporaryExpr()
1583 void ASTStmtReader::VisitCXXFoldExpr(CXXFoldExpr *E) { in VisitCXXFoldExpr() argument
1584 VisitExpr(E); in VisitCXXFoldExpr()
1585 E->LParenLoc = ReadSourceLocation(Record, Idx); in VisitCXXFoldExpr()
1586 E->EllipsisLoc = ReadSourceLocation(Record, Idx); in VisitCXXFoldExpr()
1587 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitCXXFoldExpr()
1588 E->SubExprs[0] = Reader.ReadSubExpr(); in VisitCXXFoldExpr()
1589 E->SubExprs[1] = Reader.ReadSubExpr(); in VisitCXXFoldExpr()
1590 E->Opcode = (BinaryOperatorKind)Record[Idx++]; in VisitCXXFoldExpr()
1593 void ASTStmtReader::VisitOpaqueValueExpr(OpaqueValueExpr *E) { in VisitOpaqueValueExpr() argument
1594 VisitExpr(E); in VisitOpaqueValueExpr()
1595 E->SourceExpr = Reader.ReadSubExpr(); in VisitOpaqueValueExpr()
1596 E->Loc = ReadSourceLocation(Record, Idx); in VisitOpaqueValueExpr()
1599 void ASTStmtReader::VisitTypoExpr(TypoExpr *E) { in VisitTypoExpr() argument
1606 void ASTStmtReader::VisitMSPropertyRefExpr(MSPropertyRefExpr *E) { in VisitMSPropertyRefExpr() argument
1607 VisitExpr(E); in VisitMSPropertyRefExpr()
1608 E->IsArrow = (Record[Idx++] != 0); in VisitMSPropertyRefExpr()
1609 E->BaseExpr = Reader.ReadSubExpr(); in VisitMSPropertyRefExpr()
1610 E->QualifierLoc = Reader.ReadNestedNameSpecifierLoc(F, Record, Idx); in VisitMSPropertyRefExpr()
1611 E->MemberLoc = ReadSourceLocation(Record, Idx); in VisitMSPropertyRefExpr()
1612 E->TheDecl = ReadDeclAs<MSPropertyDecl>(Record, Idx); in VisitMSPropertyRefExpr()
1615 void ASTStmtReader::VisitCXXUuidofExpr(CXXUuidofExpr *E) { in VisitCXXUuidofExpr() argument
1616 VisitExpr(E); in VisitCXXUuidofExpr()
1617 E->setSourceRange(ReadSourceRange(Record, Idx)); in VisitCXXUuidofExpr()
1618 if (E->isTypeOperand()) { // __uuidof(ComType) in VisitCXXUuidofExpr()
1619 E->setTypeOperandSourceInfo( in VisitCXXUuidofExpr()
1625 E->setExprOperand(Reader.ReadSubExpr()); in VisitCXXUuidofExpr()
1658 void ASTStmtReader::VisitCUDAKernelCallExpr(CUDAKernelCallExpr *E) { in VisitCUDAKernelCallExpr() argument
1659 VisitCallExpr(E); in VisitCUDAKernelCallExpr()
1660 E->setConfig(cast<CallExpr>(Reader.ReadSubExpr())); in VisitCUDAKernelCallExpr()
1666 void ASTStmtReader::VisitAsTypeExpr(AsTypeExpr *E) { in VisitAsTypeExpr() argument
1667 VisitExpr(E); in VisitAsTypeExpr()
1668 E->BuiltinLoc = ReadSourceLocation(Record, Idx); in VisitAsTypeExpr()
1669 E->RParenLoc = ReadSourceLocation(Record, Idx); in VisitAsTypeExpr()
1670 E->SrcExpr = Reader.ReadSubExpr(); in VisitAsTypeExpr()
1979 void ASTStmtReader::VisitOMPExecutableDirective(OMPExecutableDirective *E) { in VisitOMPExecutableDirective() argument
1980 E->setLocStart(ReadSourceLocation(Record, Idx)); in VisitOMPExecutableDirective()
1981 E->setLocEnd(ReadSourceLocation(Record, Idx)); in VisitOMPExecutableDirective()
1984 for (unsigned i = 0; i < E->getNumClauses(); ++i) in VisitOMPExecutableDirective()
1986 E->setClauses(Clauses); in VisitOMPExecutableDirective()
1987 if (E->hasAssociatedStmt()) in VisitOMPExecutableDirective()
1988 E->setAssociatedStmt(Reader.ReadSubStmt()); in VisitOMPExecutableDirective()