Lines Matching refs:Initializer
839 bool ByteCodeExprGen<Emitter>::visitArrayInitializer(const Expr *Initializer) { in visitArrayInitializer() argument
840 assert(Initializer->getType()->isArrayType()); in visitArrayInitializer()
843 if (const auto *InitList = dyn_cast<InitListExpr>(Initializer)) { in visitArrayInitializer()
875 } else if (const auto *DIE = dyn_cast<CXXDefaultInitExpr>(Initializer)) { in visitArrayInitializer()
877 } else if (const auto *AILE = dyn_cast<ArrayInitLoopExpr>(Initializer)) { in visitArrayInitializer()
897 if (!this->emitInitElem(*ElemT, I, Initializer)) in visitArrayInitializer()
914 if (!this->emitPopPtr(Initializer)) in visitArrayInitializer()
918 } else if (const auto *IVIE = dyn_cast<ImplicitValueInitExpr>(Initializer)) { in visitArrayInitializer()
929 if (!this->emitZero(*ElemT, Initializer)) in visitArrayInitializer()
931 if (!this->emitInitElem(*ElemT, I, Initializer)) in visitArrayInitializer()
939 } else if (const auto *Ctor = dyn_cast<CXXConstructExpr>(Initializer)) { in visitArrayInitializer()
951 if (!this->emitDupPtr(Initializer)) in visitArrayInitializer()
953 if (!this->emitConstUint64(I, Initializer)) in visitArrayInitializer()
955 if (!this->emitAddOffsetUint64(Initializer)) in visitArrayInitializer()
957 if (!this->emitNarrowPtr(Initializer)) in visitArrayInitializer()
966 if (!this->emitCall(Func, Initializer)) in visitArrayInitializer()
977 bool ByteCodeExprGen<Emitter>::visitRecordInitializer(const Expr *Initializer) { in visitRecordInitializer() argument
978 Initializer = Initializer->IgnoreParenImpCasts(); in visitRecordInitializer()
979 assert(Initializer->getType()->isRecordType()); in visitRecordInitializer()
981 if (const auto CtorExpr = dyn_cast<CXXConstructExpr>(Initializer)) { in visitRecordInitializer()
989 if (!this->emitDupPtr(Initializer)) in visitRecordInitializer()
998 return this->emitCall(Func, Initializer); in visitRecordInitializer()
999 } else if (const auto *InitList = dyn_cast<InitListExpr>(Initializer)) { in visitRecordInitializer()
1006 if (!this->emitDupPtr(Initializer)) in visitRecordInitializer()
1013 if (!this->emitInitField(*T, FieldToInit->Offset, Initializer)) in visitRecordInitializer()
1016 if (!this->emitPopPtr(Initializer)) in visitRecordInitializer()
1027 if (!this->emitPopPtr(Initializer)) in visitRecordInitializer()
1034 } else if (const CallExpr *CE = dyn_cast<CallExpr>(Initializer)) { in visitRecordInitializer()
1037 if (!this->emitDupPtr(Initializer)) in visitRecordInitializer()
1041 } else if (const auto *DIE = dyn_cast<CXXDefaultInitExpr>(Initializer)) { in visitRecordInitializer()
1049 bool ByteCodeExprGen<Emitter>::visitInitializer(const Expr *Initializer) { in visitInitializer() argument
1050 QualType InitializerType = Initializer->getType(); in visitInitializer()
1053 return visitArrayInitializer(Initializer); in visitInitializer()
1056 return visitRecordInitializer(Initializer); in visitInitializer()
1059 return this->visit(Initializer); in visitInitializer()