Lines Matching refs:Rec
39 Record *Rec; member
42 SubClassReference() : Rec(nullptr) {} in SubClassReference()
44 bool isInvalid() const { return Rec == nullptr; } in isInvalid()
122 Init *Prefix = BinOpInit::getStrConcat(CurMultiClass->Rec.getNameInit(), in QualifyName()
133 static Init *QualifiedNameOfImplicitName(Record &Rec, in QualifiedNameOfImplicitName() argument
135 return QualifyName(Rec, MC, StringInit::get(Rec.getRecords(), "NAME"), in QualifiedNameOfImplicitName()
140 return QualifiedNameOfImplicitName(MC->Rec, MC); in QualifiedNameOfImplicitName()
145 CurRec = &CurMultiClass->Rec; in AddValue()
167 if (!CurRec) CurRec = &CurMultiClass->Rec; in SetValue()
232 Record *SC = SubClass.Rec; in AddSubClass()
293 if (Entry.Rec) in AddSubClass()
294 return AddSubClass(Entry.Rec.get(), SubClass); in AddSubClass()
314 ArrayRef<Init *> SMCTArgs = SMC->Rec.getTemplateArgs(); in AddSubMultiClass()
326 Init *Default = SMC->Rec.getValue(SMCTArgs[i])->getValue(); in AddSubMultiClass()
331 ") of multiclass '" + SMC->Rec.getNameInitAsString() + in AddSubMultiClass()
348 assert((!!E.Rec + !!E.Loop + !!E.Assertion) == 1 && in addEntry()
377 return addDefOne(std::move(E.Rec)); in addEntry()
446 auto Rec = std::make_unique<Record>(*E.Rec); in resolve() local
448 Rec->appendLoc(*Loc); in resolve()
450 MapResolver R(Rec.get()); in resolve()
453 Rec->resolveReferences(R); in resolve()
456 Dest->push_back(std::move(Rec)); in resolve()
458 Error = addDefOne(std::move(Rec)); in resolve()
467 bool TGParser::addDefOne(std::unique_ptr<Record> Rec) { in addDefOne() argument
469 if (Record *Prev = Records.getDef(Rec->getNameInitAsString())) { in addDefOne()
470 if (!Rec->isAnonymous()) { in addDefOne()
471 PrintError(Rec->getLoc(), in addDefOne()
472 "def already exists: " + Rec->getNameInitAsString()); in addDefOne()
479 Rec->resolveReferences(NewName); in addDefOne()
480 checkConcrete(*Rec); in addDefOne()
482 if (!isa<StringInit>(Rec->getNameInit())) { in addDefOne()
483 PrintError(Rec->getLoc(), Twine("record name '") + in addDefOne()
484 Rec->getNameInit()->getAsString() + in addDefOne()
490 Rec->checkRecordAssertions(); in addDefOne()
493 assert(Rec->getTemplateArgs().empty() && "How'd this get template args?"); in addDefOne()
496 DefInit *I = Rec->getDefInit(); in addDefOne()
498 PrintError(Rec->getLoc(), Twine("adding record of incompatible type '") + in addDefOne()
507 Records.addDef(std::move(Rec)); in addDefOne()
552 CurRec = &CurMultiClass->Rec; in ParseObjectName()
627 Result.Rec = &MC->Rec; in ParseSubClassReference()
629 Result.Rec = ParseClassID(); in ParseSubClassReference()
631 if (!Result.Rec) return Result; in ParseSubClassReference()
639 if (ParseTemplateArgValueList(Result.TemplateArgs, CurRec, Result.Rec)) { in ParseSubClassReference()
640 Result.Rec = nullptr; // Error parsing value list. in ParseSubClassReference()
645 Result.Rec)) { in ParseSubClassReference()
646 Result.Rec = nullptr; // Error checking value list. in ParseSubClassReference()
675 if (ParseTemplateArgValueList(Result.TemplateArgs, &CurMC->Rec, in ParseSubMultiClassReference()
676 &Result.MC->Rec)) { in ParseSubMultiClassReference()
881 QualifyName(CurMultiClass->Rec, CurMultiClass, Name, "::"); in ParseIDValue()
885 Record *TemplateRec = CurMultiClass ? &CurMultiClass->Rec : CurRec; in ParseIDValue()
2771 DeclName = QualifyName(CurMultiClass->Rec, CurMultiClass, DeclName, "::"); in ParseDeclaration()
2885 Record *TheRecToAddTo = CurRec ? CurRec : &CurMultiClass->Rec; in ParseTemplateArgList()
3021 if (Entry.Rec) in ApplyLetStack()
3022 return ApplyLetStack(Entry.Rec.get()); in ApplyLetStack()
3053 if (!SubClass.Rec) return true; in ParseObjectBody()
3612 CurMultiClass->Rec.checkUnusedTemplateArgs(); in ParseMultiClass()
3654 if (!Ref.Rec) return true; in ParseDefm()
3660 MultiClass *MC = MultiClasses[std::string(Ref.Rec->getName())].get(); in ParseDefm()
3664 ArrayRef<Init *> TArgs = MC->Rec.getTemplateArgs(); in ParseDefm()
3671 Init *Default = MC->Rec.getValue(TArgs[i])->getValue(); in ParseDefm()
3677 MC->Rec.getNameInitAsString() + "'"); in ParseDefm()
3712 if (!SubClass.Rec) return true; in ParseDefm()
3840 if (Rec) in dump()
3841 Rec->dump(); in dump()
3856 Rec.dump(); in dump()