Lines Matching refs:CurMultiClass
115 static Init *QualifyName(Record &CurRec, MultiClass *CurMultiClass, Init *Name, in QualifyName() argument
121 if (CurMultiClass && Scoper != "::") { in QualifyName()
122 Init *Prefix = BinOpInit::getStrConcat(CurMultiClass->Rec.getNameInit(), in QualifyName()
145 CurRec = &CurMultiClass->Rec; in AddValue()
167 if (!CurRec) CurRec = &CurMultiClass->Rec; in SetValue()
360 return resolve(*E.Loop, Stack, CurMultiClass == nullptr, in addEntry()
361 CurMultiClass ? &CurMultiClass->Entries : nullptr); in addEntry()
365 if (CurMultiClass) { in addEntry()
366 CurMultiClass->Entries.push_back(std::move(E)); in addEntry()
537 Init *TGParser::ParseObjectName(MultiClass *CurMultiClass) { in ParseObjectName() argument
551 if (CurMultiClass) in ParseObjectName()
552 CurRec = &CurMultiClass->Rec; in ParseObjectName()
558 if (CurMultiClass) { in ParseObjectName()
559 Init *NameStr = QualifiedNameOfImplicitName(CurMultiClass); in ParseObjectName()
877 if ((CurRec && CurRec->isClass()) || CurMultiClass) { in ParseIDValue()
879 if (CurMultiClass) { in ParseIDValue()
881 QualifyName(CurMultiClass->Rec, CurMultiClass, Name, "::"); in ParseIDValue()
883 TemplateArgName = QualifyName(*CurRec, CurMultiClass, Name, ":"); in ParseIDValue()
885 Record *TemplateRec = CurMultiClass ? &CurMultiClass->Rec : CurRec; in ParseIDValue()
917 if (CurRec && !CurRec->isClass() && !CurMultiClass && in ParseIDValue()
2765 DeclName = QualifyName(*CurRec, CurMultiClass, DeclName, ":"); in ParseDeclaration()
2770 assert(CurMultiClass && "invalid context for template argument"); in ParseDeclaration()
2771 DeclName = QualifyName(CurMultiClass->Rec, CurMultiClass, DeclName, "::"); in ParseDeclaration()
2850 if (CurMultiClass) { in ParseForeachDeclaration()
2885 Record *TheRecToAddTo = CurRec ? CurRec : &CurMultiClass->Rec; in ParseTemplateArgList()
3076 bool TGParser::ParseDef(MultiClass *CurMultiClass) { in ParseDef() argument
3083 Init *Name = ParseObjectName(CurMultiClass); in ParseDef()
3189 bool TGParser::ParseForeach(MultiClass *CurMultiClass) { in ParseForeach() argument
3212 if (ParseObject(CurMultiClass)) in ParseForeach()
3220 if (ParseObjectList(CurMultiClass)) in ParseForeach()
3243 bool TGParser::ParseIf(MultiClass *CurMultiClass) { in ParseIf() argument
3276 if (ParseIfBody(CurMultiClass, "then")) in ParseIf()
3299 if (ParseIfBody(CurMultiClass, "else")) in ParseIf()
3317 bool TGParser::ParseIfBody(MultiClass *CurMultiClass, StringRef Kind) { in ParseIfBody() argument
3322 if (ParseObject(CurMultiClass)) in ParseIfBody()
3330 if (ParseObjectList(CurMultiClass)) in ParseIfBody()
3346 bool TGParser::ParseAssert(MultiClass *CurMultiClass, Record *CurRec) { in ParseAssert() argument
3468 bool TGParser::ParseTopLevelLet(MultiClass *CurMultiClass) { in ParseTopLevelLet() argument
3486 if (ParseObject(CurMultiClass)) in ParseTopLevelLet()
3494 if (ParseObjectList(CurMultiClass)) in ParseTopLevelLet()
3538 CurMultiClass = Result.first->second.get(); in ParseMultiClass()
3554 ParseSubMultiClassReference(CurMultiClass); in ParseMultiClass()
3560 if (AddSubMultiClass(CurMultiClass, SubMultiClass)) in ParseMultiClass()
3565 SubMultiClass = ParseSubMultiClassReference(CurMultiClass); in ParseMultiClass()
3594 if (ParseObject(CurMultiClass)) in ParseMultiClass()
3612 CurMultiClass->Rec.checkUnusedTemplateArgs(); in ParseMultiClass()
3614 CurMultiClass = nullptr; in ParseMultiClass()
3622 bool TGParser::ParseDefm(MultiClass *CurMultiClass) { in ParseDefm() argument
3626 Init *DefmName = ParseObjectName(CurMultiClass); in ParseDefm()
3631 if (CurMultiClass) in ParseDefm()
3633 VarInit::get(QualifiedNameOfImplicitName(CurMultiClass), in ParseDefm()
3684 if (resolve(MC->Entries, Substs, !CurMultiClass && Loops.empty(), in ParseDefm()