TypeIndex TypeTableBuilder::writeKnownType(const BuildInfoRecord &Record) { TypeRecordBuilder Builder(Record.getKind()); assert(Record.getArgs().size() <= UINT16_MAX); Builder.writeUInt16(Record.getArgs().size()); for (TypeIndex Arg : Record.getArgs()) Builder.writeTypeIndex(Arg); return writeRecord(Builder); }
void CVTypeDumperImpl::visitBuildInfo(TypeLeafKind Leaf, BuildInfoRecord &Args) { W.printNumber("NumArgs", static_cast<uint32_t>(Args.getArgs().size())); ListScope Arguments(W, "Arguments"); for (auto Arg : Args.getArgs()) { printTypeIndex("ArgType", Arg); } }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, BuildInfoRecord &Args) { W->printNumber("NumArgs", static_cast<uint32_t>(Args.getArgs().size())); ListScope Arguments(*W, "Arguments"); for (auto Arg : Args.getArgs()) { printItemIndex("ArgType", Arg); } return Error::success(); }