Lines Matching refs:Rec
37 Record *Rec = nullptr; member
42 bool isInvalid() const { return Rec == nullptr; } in isInvalid()
126 return QualifyName(MC->Rec, Name); in QualifyName()
130 static Init *QualifiedNameOfImplicitName(Record &Rec) { in QualifiedNameOfImplicitName() argument
131 return QualifyName(Rec, StringInit::get(Rec.getRecords(), "NAME")); in QualifiedNameOfImplicitName()
135 return QualifiedNameOfImplicitName(MC->Rec); in QualifiedNameOfImplicitName()
146 auto FindValueInArgs = [&](Record *Rec, StringInit *Name) -> Init * { in getVar() argument
147 if (!Rec) in getVar()
149 Init *ArgName = QualifyName(*Rec, Name); in getVar()
150 if (Rec->isTemplateArg(ArgName)) { in getVar()
151 RecordVal *RV = Rec->getValue(ArgName); in getVar()
196 if (auto *V = FindValueInArgs(&CurMultiClass->Rec, Name)) in getVar()
212 CurRec = &CurMultiClass->Rec; in AddValue()
234 if (!CurRec) CurRec = &CurMultiClass->Rec; in SetValue()
299 Record *SC = SubClass.Rec; in AddSubClass()
347 if (Entry.Rec) in AddSubClass()
348 return AddSubClass(Entry.Rec.get(), SubClass); in AddSubClass()
382 assert((!!E.Rec + !!E.Loop + !!E.Assertion + !!E.Dump) == 1 && in addEntry()
416 return addDefOne(std::move(E.Rec)); in addEntry()
522 auto Rec = std::make_unique<Record>(*E.Rec); in resolve() local
524 Rec->appendLoc(*Loc); in resolve()
526 MapResolver R(Rec.get()); in resolve()
529 Rec->resolveReferences(R); in resolve()
532 Dest->push_back(std::move(Rec)); in resolve()
534 Error = addDefOne(std::move(Rec)); in resolve()
543 bool TGParser::addDefOne(std::unique_ptr<Record> Rec) { in addDefOne() argument
545 if (Record *Prev = Records.getDef(Rec->getNameInitAsString())) { in addDefOne()
546 if (!Rec->isAnonymous()) { in addDefOne()
547 PrintError(Rec->getLoc(), in addDefOne()
548 "def already exists: " + Rec->getNameInitAsString()); in addDefOne()
555 Rec->resolveReferences(NewName); in addDefOne()
556 checkConcrete(*Rec); in addDefOne()
558 if (!isa<StringInit>(Rec->getNameInit())) { in addDefOne()
559 PrintError(Rec->getLoc(), Twine("record name '") + in addDefOne()
560 Rec->getNameInit()->getAsString() + in addDefOne()
566 Rec->checkRecordAssertions(); in addDefOne()
569 Rec->emitRecordDumps(); in addDefOne()
572 assert(Rec->getTemplateArgs().empty() && "How'd this get template args?"); in addDefOne()
575 DefInit *I = Rec->getDefInit(); in addDefOne()
577 PrintError(Rec->getLoc(), Twine("adding record of incompatible type '") + in addDefOne()
586 Records.addDef(std::move(Rec)); in addDefOne()
590 bool TGParser::resolveArguments(Record *Rec, ArrayRef<ArgumentInit *> ArgValues, in resolveArguments() argument
592 ArrayRef<Init *> ArgNames = Rec->getTemplateArgs(); in resolveArguments()
617 Init *Default = Rec->getValue(UnsolvedArgName)->getValue(); in resolveArguments()
621 PrintNote(Rec->getFieldLoc(Name), in resolveArguments()
622 "declared in '" + Rec->getNameInitAsString() + "'"); in resolveArguments()
633 bool TGParser::resolveArgumentsOfClass(MapResolver &R, Record *Rec, in resolveArgumentsOfClass() argument
636 return resolveArguments(Rec, ArgValues, Loc, in resolveArgumentsOfClass()
648 &MC->Rec, ArgValues, Loc, in resolveArgumentsOfMultiClass()
685 CurRec = &CurMultiClass->Rec; in ParseObjectName()
762 Result.Rec = &MC->Rec; in ParseSubClassReference()
764 Result.Rec = ParseClassID(); in ParseSubClassReference()
766 if (!Result.Rec) return Result; in ParseSubClassReference()
774 if (ParseTemplateArgValueList(Result.TemplateArgs, CurRec, Result.Rec)) { in ParseSubClassReference()
775 Result.Rec = nullptr; // Error parsing value list. in ParseSubClassReference()
780 Result.Rec)) { in ParseSubClassReference()
781 Result.Rec = nullptr; // Error checking value list. in ParseSubClassReference()
810 if (ParseTemplateArgValueList(Result.TemplateArgs, &CurMC->Rec, in ParseSubMultiClassReference()
811 &Result.MC->Rec)) { in ParseSubMultiClassReference()
3401 Record *TheRecToAddTo = CurRec ? CurRec : &CurMultiClass->Rec; in ParseTemplateArgList()
3536 if (Entry.Rec) in ApplyLetStack()
3537 return ApplyLetStack(Entry.Rec.get()); in ApplyLetStack()
3574 if (!SubClass.Rec) return true; in ParseObjectBody()
4193 CurMultiClass->Rec.checkUnusedTemplateArgs(); in ParseMultiClass()
4236 if (!Ref.Rec) return true; in ParseDefm()
4242 MultiClass *MC = MultiClasses[std::string(Ref.Rec->getName())].get(); in ParseDefm()
4278 if (!SubClass.Rec) return true; in ParseDefm()
4418 if (Rec) in dump()
4419 Rec->dump(); in dump()
4434 Rec.dump(); in dump()