Lines Matching refs:CurMultiClass
115 static Init *QualifyName(Record &CurRec, MultiClass *CurMultiClass, in QualifyName() argument
120 if (CurMultiClass && Scoper != "::") { in QualifyName()
121 Init *Prefix = BinOpInit::getStrConcat(CurMultiClass->Rec.getNameInit(), in QualifyName()
143 CurRec = &CurMultiClass->Rec; in AddValue()
165 if (!CurRec) CurRec = &CurMultiClass->Rec; in SetValue()
355 return resolve(*E.Loop, Stack, CurMultiClass == nullptr, in addEntry()
356 CurMultiClass ? &CurMultiClass->Entries : nullptr); in addEntry()
359 if (CurMultiClass) { in addEntry()
360 CurMultiClass->Entries.push_back(std::move(E)); in addEntry()
505 Init *TGParser::ParseObjectName(MultiClass *CurMultiClass) { in ParseObjectName() argument
519 if (CurMultiClass) in ParseObjectName()
520 CurRec = &CurMultiClass->Rec; in ParseObjectName()
526 if (CurMultiClass) { in ParseObjectName()
527 Init *NameStr = QualifiedNameOfImplicitName(CurMultiClass); in ParseObjectName()
855 if ((CurRec && CurRec->isClass()) || CurMultiClass) { in ParseIDValue()
857 if (CurMultiClass) { in ParseIDValue()
859 QualifyName(CurMultiClass->Rec, CurMultiClass, Name, "::"); in ParseIDValue()
861 TemplateArgName = QualifyName(*CurRec, CurMultiClass, Name, ":"); in ParseIDValue()
863 Record *TemplateRec = CurMultiClass ? &CurMultiClass->Rec : CurRec; in ParseIDValue()
894 if (CurRec && !CurRec->isClass() && !CurMultiClass && in ParseIDValue()
2520 DeclName = QualifyName(*CurRec, CurMultiClass, DeclName, ":"); in ParseDeclaration()
2522 assert(CurMultiClass); in ParseDeclaration()
2523 if (CurMultiClass) in ParseDeclaration()
2524 DeclName = QualifyName(CurMultiClass->Rec, CurMultiClass, DeclName, in ParseDeclaration()
2607 if (CurMultiClass) { in ParseForeachDeclaration()
2642 Record *TheRecToAddTo = CurRec ? CurRec : &CurMultiClass->Rec; in ParseTemplateArgList()
2815 bool TGParser::ParseDef(MultiClass *CurMultiClass) { in ParseDef() argument
2822 Init *Name = ParseObjectName(CurMultiClass); in ParseDef()
2928 bool TGParser::ParseForeach(MultiClass *CurMultiClass) { in ParseForeach() argument
2951 if (ParseObject(CurMultiClass)) in ParseForeach()
2959 if (ParseObjectList(CurMultiClass)) in ParseForeach()
2982 bool TGParser::ParseIf(MultiClass *CurMultiClass) { in ParseIf() argument
3014 if (ParseIfBody(CurMultiClass, "then")) in ParseIf()
3037 if (ParseIfBody(CurMultiClass, "else")) in ParseIf()
3055 bool TGParser::ParseIfBody(MultiClass *CurMultiClass, StringRef Kind) { in ParseIfBody() argument
3060 if (ParseObject(CurMultiClass)) in ParseIfBody()
3068 if (ParseObjectList(CurMultiClass)) in ParseIfBody()
3167 bool TGParser::ParseTopLevelLet(MultiClass *CurMultiClass) { in ParseTopLevelLet() argument
3185 if (ParseObject(CurMultiClass)) in ParseTopLevelLet()
3193 if (ParseObjectList(CurMultiClass)) in ParseTopLevelLet()
3234 CurMultiClass = Result.first->second.get(); in ParseMultiClass()
3250 ParseSubMultiClassReference(CurMultiClass); in ParseMultiClass()
3256 if (AddSubMultiClass(CurMultiClass, SubMultiClass)) in ParseMultiClass()
3261 SubMultiClass = ParseSubMultiClassReference(CurMultiClass); in ParseMultiClass()
3288 if (ParseObject(CurMultiClass)) in ParseMultiClass()
3298 CurMultiClass = nullptr; in ParseMultiClass()
3306 bool TGParser::ParseDefm(MultiClass *CurMultiClass) { in ParseDefm() argument
3310 Init *DefmName = ParseObjectName(CurMultiClass); in ParseDefm()
3315 if (CurMultiClass) in ParseDefm()
3317 VarInit::get(QualifiedNameOfImplicitName(CurMultiClass), in ParseDefm()
3372 if (resolve(MC->Entries, Substs, CurMultiClass == nullptr, &NewEntries, in ParseDefm()