Lines Matching refs:Rec
39 Record *Rec; member
42 SubClassReference() : Rec(nullptr) {} in SubClassReference()
44 bool isInvalid() const { return Rec == nullptr; } in isInvalid()
121 Init *Prefix = BinOpInit::getStrConcat(CurMultiClass->Rec.getNameInit(), in QualifyName()
132 static Init *QualifiedNameOfImplicitName(Record &Rec, in QualifiedNameOfImplicitName() argument
134 return QualifyName(Rec, MC, StringInit::get("NAME"), MC ? "::" : ":"); in QualifiedNameOfImplicitName()
138 return QualifiedNameOfImplicitName(MC->Rec, MC); in QualifiedNameOfImplicitName()
143 CurRec = &CurMultiClass->Rec; in AddValue()
165 if (!CurRec) CurRec = &CurMultiClass->Rec; in SetValue()
230 Record *SC = SubClass.Rec; in AddSubClass()
293 if (Entry.Rec) in AddSubClass()
294 return AddSubClass(Entry.Rec.get(), SubClass); in AddSubClass()
311 ArrayRef<Init *> SMCTArgs = SMC->Rec.getTemplateArgs(); in AddSubMultiClass()
323 Init *Default = SMC->Rec.getValue(SMCTArgs[i])->getValue(); in AddSubMultiClass()
328 ") of multiclass '" + SMC->Rec.getNameInitAsString() + in AddSubMultiClass()
346 assert(!E.Rec || !E.Loop); in addEntry()
364 return addDefOne(std::move(E.Rec)); in addEntry()
417 auto Rec = make_unique<Record>(*E.Rec); in resolve() local
419 Rec->appendLoc(*Loc); in resolve()
421 MapResolver R(Rec.get()); in resolve()
424 Rec->resolveReferences(R); in resolve()
427 Dest->push_back(std::move(Rec)); in resolve()
429 Error = addDefOne(std::move(Rec)); in resolve()
438 bool TGParser::addDefOne(std::unique_ptr<Record> Rec) { in addDefOne() argument
439 if (Record *Prev = Records.getDef(Rec->getNameInitAsString())) { in addDefOne()
440 if (!Rec->isAnonymous()) { in addDefOne()
441 PrintError(Rec->getLoc(), in addDefOne()
442 "def already exists: " + Rec->getNameInitAsString()); in addDefOne()
446 Rec->setName(Records.getNewAnonymousName()); in addDefOne()
449 Rec->resolveReferences(); in addDefOne()
450 checkConcrete(*Rec); in addDefOne()
452 if (!isa<StringInit>(Rec->getNameInit())) { in addDefOne()
453 PrintError(Rec->getLoc(), Twine("record name '") + in addDefOne()
454 Rec->getNameInit()->getAsString() + in addDefOne()
460 assert(Rec->getTemplateArgs().empty() && "How'd this get template args?"); in addDefOne()
463 DefInit *I = Rec->getDefInit(); in addDefOne()
465 PrintError(Rec->getLoc(), Twine("adding record of incompatible type '") + in addDefOne()
474 Records.addDef(std::move(Rec)); in addDefOne()
510 CurRec = &CurMultiClass->Rec; in ParseObjectName()
579 Result.Rec = &MC->Rec; in ParseSubClassReference()
581 Result.Rec = ParseClassID(); in ParseSubClassReference()
583 if (!Result.Rec) return Result; in ParseSubClassReference()
594 Result.Rec = nullptr; in ParseSubClassReference()
598 ParseValueList(Result.TemplateArgs, CurRec, Result.Rec); in ParseSubClassReference()
600 Result.Rec = nullptr; // Error parsing value list. in ParseSubClassReference()
606 Result.Rec = nullptr; in ParseSubClassReference()
643 ParseValueList(Result.TemplateArgs, &CurMC->Rec, &Result.MC->Rec); in ParseSubMultiClassReference()
841 QualifyName(CurMultiClass->Rec, CurMultiClass, Name, "::"); in ParseIDValue()
845 Record *TemplateRec = CurMultiClass ? &CurMultiClass->Rec : CurRec; in ParseIDValue()
2230 DeclName = QualifyName(CurMultiClass->Rec, CurMultiClass, DeclName, in ParseDeclaration()
2345 Record *TheRecToAddTo = CurRec ? CurRec : &CurMultiClass->Rec; in ParseTemplateArgList()
2463 if (Entry.Rec) in ApplyLetStack()
2464 return ApplyLetStack(Entry.Rec.get()); in ApplyLetStack()
2492 if (!SubClass.Rec) return true; in ParseObjectBody()
2893 if (!Ref.Rec) return true; in ParseDefm()
2898 MultiClass *MC = MultiClasses[Ref.Rec->getName()].get(); in ParseDefm()
2903 ArrayRef<Init *> TArgs = MC->Rec.getTemplateArgs(); in ParseDefm()
2913 Init *Default = MC->Rec.getValue(TArgs[i])->getValue(); in ParseDefm()
2918 ") of multiclass '" + MC->Rec.getNameInitAsString() + in ParseDefm()
2955 if (!SubClass.Rec) return true; in ParseDefm()
3043 if (Rec) in dump()
3044 Rec->dump(); in dump()
3059 Rec.dump(); in dump()