Lines Matching full:io
76 void ScalarEnumerationTraits<SymbolKind>::enumeration(IO &io, in enumeration() argument
80 io.enumCase(Value, E.Name.str().c_str(), E.Value); in enumeration()
83 void ScalarBitSetTraits<CompileSym2Flags>::bitset(IO &io, in bitset() argument
87 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
92 void ScalarBitSetTraits<CompileSym3Flags>::bitset(IO &io, in bitset() argument
96 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
101 void ScalarBitSetTraits<ExportFlags>::bitset(IO &io, ExportFlags &Flags) { in bitset() argument
104 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
109 void ScalarBitSetTraits<PublicSymFlags>::bitset(IO &io, PublicSymFlags &Flags) { in bitset() argument
112 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
117 void ScalarBitSetTraits<LocalSymFlags>::bitset(IO &io, LocalSymFlags &Flags) { in bitset() argument
120 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
125 void ScalarBitSetTraits<ProcSymFlags>::bitset(IO &io, ProcSymFlags &Flags) { in bitset() argument
128 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
134 IO &io, FrameProcedureOptions &Flags) { in bitset() argument
137 io.bitSetCase(Flags, E.Name.str().c_str(), in bitset()
142 void ScalarEnumerationTraits<CPUType>::enumeration(IO &io, CPUType &Cpu) { in enumeration() argument
145 io.enumCase(Cpu, E.Name.str().c_str(), static_cast<CPUType>(E.Value)); in enumeration()
149 void ScalarEnumerationTraits<RegisterId>::enumeration(IO &io, RegisterId &Reg) { in enumeration() argument
150 const auto *Header = static_cast<COFF::header *>(io.getContext()); in enumeration()
151 assert(Header && "The IO context is not initialized"); in enumeration()
175 io.enumCase(Reg, E.Name.str().c_str(), static_cast<RegisterId>(E.Value)); in enumeration()
177 io.enumFallback<Hex16>(Reg); in enumeration()
181 IO &io, TrampolineType &Tramp) { in enumeration() argument
184 io.enumCase(Tramp, E.Name.str().c_str(), in enumeration()
189 void ScalarEnumerationTraits<ThunkOrdinal>::enumeration(IO &io, in enumeration() argument
193 io.enumCase(Ord, E.Name.str().c_str(), static_cast<ThunkOrdinal>(E.Value)); in enumeration()
198 IO &io, FrameCookieKind &FC) { in enumeration() argument
201 io.enumCase(FC, E.Name.str().c_str(), in enumeration()
209 static void mapping(IO &io, LocalVariableAddrRange &Range) { in mapping()
210 io.mapRequired("OffsetStart", Range.OffsetStart); in mapping()
211 io.mapRequired("ISectStart", Range.ISectStart); in mapping()
212 io.mapRequired("Range", Range.Range); in mapping()
216 static void mapping(IO &io, LocalVariableAddrGap &Gap) { in mapping()
217 io.mapRequired("GapStartOffset", Gap.GapStartOffset); in mapping()
218 io.mapRequired("Range", Gap.Range); in mapping()
234 virtual void map(yaml::IO &io) = 0;
245 void map(yaml::IO &io) override;
263 void map(yaml::IO &io) override;
286 template <> void SymbolRecordImpl<ScopeEndSym>::map(IO &IO) {} in map() argument
288 void UnknownSymbolRecord::map(yaml::IO &io) { in map() argument
290 if (io.outputting()) in map()
292 io.mapRequired("Data", Binary); in map()
293 if (!io.outputting()) { in map()
302 template <> void SymbolRecordImpl<Thunk32Sym>::map(IO &IO) { in map() argument
303 IO.mapRequired("Parent", Symbol.Parent); in map()
304 IO.mapRequired("End", Symbol.End); in map()
305 IO.mapRequired("Next", Symbol.Next); in map()
306 IO.mapRequired("Off", Symbol.Offset); in map()
307 IO.mapRequired("Seg", Symbol.Segment); in map()
308 IO.mapRequired("Len", Symbol.Length); in map()
309 IO.mapRequired("Ordinal", Symbol.Thunk); in map()
312 template <> void SymbolRecordImpl<TrampolineSym>::map(IO &IO) { in map() argument
313 IO.mapRequired("Type", Symbol.Type); in map()
314 IO.mapRequired("Size", Symbol.Size); in map()
315 IO.mapRequired("ThunkOff", Symbol.ThunkOffset); in map()
316 IO.mapRequired("TargetOff", Symbol.TargetOffset); in map()
317 IO.mapRequired("ThunkSection", Symbol.ThunkSection); in map()
318 IO.mapRequired("TargetSection", Symbol.TargetSection); in map()
321 template <> void SymbolRecordImpl<SectionSym>::map(IO &IO) { in map() argument
322 IO.mapRequired("SectionNumber", Symbol.SectionNumber); in map()
323 IO.mapRequired("Alignment", Symbol.Alignment); in map()
324 IO.mapRequired("Rva", Symbol.Rva); in map()
325 IO.mapRequired("Length", Symbol.Length); in map()
326 IO.mapRequired("Characteristics", Symbol.Characteristics); in map()
327 IO.mapRequired("Name", Symbol.Name); in map()
330 template <> void SymbolRecordImpl<CoffGroupSym>::map(IO &IO) { in map() argument
331 IO.mapRequired("Size", Symbol.Size); in map()
332 IO.mapRequired("Characteristics", Symbol.Characteristics); in map()
333 IO.mapRequired("Offset", Symbol.Offset); in map()
334 IO.mapRequired("Segment", Symbol.Segment); in map()
335 IO.mapRequired("Name", Symbol.Name); in map()
338 template <> void SymbolRecordImpl<ExportSym>::map(IO &IO) { in map() argument
339 IO.mapRequired("Ordinal", Symbol.Ordinal); in map()
340 IO.mapRequired("Flags", Symbol.Flags); in map()
341 IO.mapRequired("Name", Symbol.Name); in map()
344 template <> void SymbolRecordImpl<ProcSym>::map(IO &IO) { in map() argument
345 IO.mapOptional("PtrParent", Symbol.Parent, 0U); in map()
346 IO.mapOptional("PtrEnd", Symbol.End, 0U); in map()
347 IO.mapOptional("PtrNext", Symbol.Next, 0U); in map()
348 IO.mapRequired("CodeSize", Symbol.CodeSize); in map()
349 IO.mapRequired("DbgStart", Symbol.DbgStart); in map()
350 IO.mapRequired("DbgEnd", Symbol.DbgEnd); in map()
351 IO.mapRequired("FunctionType", Symbol.FunctionType); in map()
352 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
353 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
354 IO.mapRequired("Flags", Symbol.Flags); in map()
355 IO.mapRequired("DisplayName", Symbol.Name); in map()
358 template <> void SymbolRecordImpl<RegisterSym>::map(IO &IO) { in map() argument
359 IO.mapRequired("Type", Symbol.Index); in map()
360 IO.mapRequired("Seg", Symbol.Register); in map()
361 IO.mapRequired("Name", Symbol.Name); in map()
364 template <> void SymbolRecordImpl<PublicSym32>::map(IO &IO) { in map() argument
365 IO.mapRequired("Flags", Symbol.Flags); in map()
366 IO.mapOptional("Offset", Symbol.Offset, 0U); in map()
367 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
368 IO.mapRequired("Name", Symbol.Name); in map()
371 template <> void SymbolRecordImpl<ProcRefSym>::map(IO &IO) { in map() argument
372 IO.mapRequired("SumName", Symbol.SumName); in map()
373 IO.mapRequired("SymOffset", Symbol.SymOffset); in map()
374 IO.mapRequired("Mod", Symbol.Module); in map()
375 IO.mapRequired("Name", Symbol.Name); in map()
378 template <> void SymbolRecordImpl<EnvBlockSym>::map(IO &IO) { in map() argument
379 IO.mapRequired("Entries", Symbol.Fields); in map()
382 template <> void SymbolRecordImpl<InlineSiteSym>::map(IO &IO) { in map() argument
383 IO.mapOptional("PtrParent", Symbol.Parent, 0U); in map()
384 IO.mapOptional("PtrEnd", Symbol.End, 0U); in map()
385 IO.mapRequired("Inlinee", Symbol.Inlinee); in map()
389 template <> void SymbolRecordImpl<LocalSym>::map(IO &IO) { in map() argument
390 IO.mapRequired("Type", Symbol.Type); in map()
391 IO.mapRequired("Flags", Symbol.Flags); in map()
393 IO.mapRequired("VarName", Symbol.Name); in map()
396 template <> void SymbolRecordImpl<DefRangeSym>::map(IO &IO) { in map() argument
397 IO.mapRequired("Program", Symbol.Program); in map()
398 IO.mapRequired("Range", Symbol.Range); in map()
399 IO.mapRequired("Gaps", Symbol.Gaps); in map()
402 template <> void SymbolRecordImpl<DefRangeSubfieldSym>::map(IO &IO) { in map() argument
403 IO.mapRequired("Program", Symbol.Program); in map()
404 IO.mapRequired("OffsetInParent", Symbol.OffsetInParent); in map()
405 IO.mapRequired("Range", Symbol.Range); in map()
406 IO.mapRequired("Gaps", Symbol.Gaps); in map()
409 template <> void SymbolRecordImpl<DefRangeRegisterSym>::map(IO &IO) { in map() argument
410 IO.mapRequired("Register", Symbol.Hdr.Register); in map()
411 IO.mapRequired("MayHaveNoName", Symbol.Hdr.MayHaveNoName); in map()
412 IO.mapRequired("Range", Symbol.Range); in map()
413 IO.mapRequired("Gaps", Symbol.Gaps); in map()
416 template <> void SymbolRecordImpl<DefRangeFramePointerRelSym>::map(IO &IO) { in map() argument
417 IO.mapRequired("Offset", Symbol.Hdr.Offset); in map()
418 IO.mapRequired("Range", Symbol.Range); in map()
419 IO.mapRequired("Gaps", Symbol.Gaps); in map()
422 template <> void SymbolRecordImpl<DefRangeSubfieldRegisterSym>::map(IO &IO) { in map() argument
423 IO.mapRequired("Register", Symbol.Hdr.Register); in map()
424 IO.mapRequired("MayHaveNoName", Symbol.Hdr.MayHaveNoName); in map()
425 IO.mapRequired("OffsetInParent", Symbol.Hdr.OffsetInParent); in map()
426 IO.mapRequired("Range", Symbol.Range); in map()
427 IO.mapRequired("Gaps", Symbol.Gaps); in map()
431 void SymbolRecordImpl<DefRangeFramePointerRelFullScopeSym>::map(IO &IO) { in map() argument
432 IO.mapRequired("Register", Symbol.Offset); in map()
435 template <> void SymbolRecordImpl<DefRangeRegisterRelSym>::map(IO &IO) { in map() argument
436 IO.mapRequired("Register", Symbol.Hdr.Register); in map()
437 IO.mapRequired("Flags", Symbol.Hdr.Flags); in map()
438 IO.mapRequired("BasePointerOffset", Symbol.Hdr.BasePointerOffset); in map()
439 IO.mapRequired("Range", Symbol.Range); in map()
440 IO.mapRequired("Gaps", Symbol.Gaps); in map()
443 template <> void SymbolRecordImpl<BlockSym>::map(IO &IO) { in map() argument
444 IO.mapOptional("PtrParent", Symbol.Parent, 0U); in map()
445 IO.mapOptional("PtrEnd", Symbol.End, 0U); in map()
446 IO.mapRequired("CodeSize", Symbol.CodeSize); in map()
447 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
448 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
449 IO.mapRequired("BlockName", Symbol.Name); in map()
452 template <> void SymbolRecordImpl<LabelSym>::map(IO &IO) { in map() argument
453 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
454 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
455 IO.mapRequired("Flags", Symbol.Flags); in map()
456 IO.mapRequired("Flags", Symbol.Flags); in map()
457 IO.mapRequired("DisplayName", Symbol.Name); in map()
460 template <> void SymbolRecordImpl<ObjNameSym>::map(IO &IO) { in map() argument
461 IO.mapRequired("Signature", Symbol.Signature); in map()
462 IO.mapRequired("ObjectName", Symbol.Name); in map()
465 template <> void SymbolRecordImpl<Compile2Sym>::map(IO &IO) { in map() argument
466 IO.mapRequired("Flags", Symbol.Flags); in map()
467 IO.mapRequired("Machine", Symbol.Machine); in map()
468 IO.mapRequired("FrontendMajor", Symbol.VersionFrontendMajor); in map()
469 IO.mapRequired("FrontendMinor", Symbol.VersionFrontendMinor); in map()
470 IO.mapRequired("FrontendBuild", Symbol.VersionFrontendBuild); in map()
471 IO.mapRequired("BackendMajor", Symbol.VersionBackendMajor); in map()
472 IO.mapRequired("BackendMinor", Symbol.VersionBackendMinor); in map()
473 IO.mapRequired("BackendBuild", Symbol.VersionBackendBuild); in map()
474 IO.mapRequired("Version", Symbol.Version); in map()
477 template <> void SymbolRecordImpl<Compile3Sym>::map(IO &IO) { in map() argument
478 IO.mapRequired("Flags", Symbol.Flags); in map()
479 IO.mapRequired("Machine", Symbol.Machine); in map()
480 IO.mapRequired("FrontendMajor", Symbol.VersionFrontendMajor); in map()
481 IO.mapRequired("FrontendMinor", Symbol.VersionFrontendMinor); in map()
482 IO.mapRequired("FrontendBuild", Symbol.VersionFrontendBuild); in map()
483 IO.mapRequired("FrontendQFE", Symbol.VersionFrontendQFE); in map()
484 IO.mapRequired("BackendMajor", Symbol.VersionBackendMajor); in map()
485 IO.mapRequired("BackendMinor", Symbol.VersionBackendMinor); in map()
486 IO.mapRequired("BackendBuild", Symbol.VersionBackendBuild); in map()
487 IO.mapRequired("BackendQFE", Symbol.VersionBackendQFE); in map()
488 IO.mapRequired("Version", Symbol.Version); in map()
491 template <> void SymbolRecordImpl<FrameProcSym>::map(IO &IO) { in map() argument
492 IO.mapRequired("TotalFrameBytes", Symbol.TotalFrameBytes); in map()
493 IO.mapRequired("PaddingFrameBytes", Symbol.PaddingFrameBytes); in map()
494 IO.mapRequired("OffsetToPadding", Symbol.OffsetToPadding); in map()
495 IO.mapRequired("BytesOfCalleeSavedRegisters", in map()
497 IO.mapRequired("OffsetOfExceptionHandler", Symbol.OffsetOfExceptionHandler); in map()
498 IO.mapRequired("SectionIdOfExceptionHandler", in map()
500 IO.mapRequired("Flags", Symbol.Flags); in map()
503 template <> void SymbolRecordImpl<CallSiteInfoSym>::map(IO &IO) { in map() argument
504 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
505 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
506 IO.mapRequired("Type", Symbol.Type); in map()
509 template <> void SymbolRecordImpl<FileStaticSym>::map(IO &IO) { in map() argument
510 IO.mapRequired("Index", Symbol.Index); in map()
511 IO.mapRequired("ModFilenameOffset", Symbol.ModFilenameOffset); in map()
512 IO.mapRequired("Flags", Symbol.Flags); in map()
513 IO.mapRequired("Name", Symbol.Name); in map()
516 template <> void SymbolRecordImpl<HeapAllocationSiteSym>::map(IO &IO) { in map() argument
517 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
518 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
519 IO.mapRequired("CallInstructionSize", Symbol.CallInstructionSize); in map()
520 IO.mapRequired("Type", Symbol.Type); in map()
523 template <> void SymbolRecordImpl<FrameCookieSym>::map(IO &IO) { in map() argument
524 IO.mapRequired("Register", Symbol.Register); in map()
525 IO.mapRequired("CookieKind", Symbol.CookieKind); in map()
526 IO.mapRequired("Flags", Symbol.Flags); in map()
529 template <> void SymbolRecordImpl<CallerSym>::map(IO &IO) { in map() argument
530 IO.mapRequired("FuncID", Symbol.Indices); in map()
533 template <> void SymbolRecordImpl<UDTSym>::map(IO &IO) { in map() argument
534 IO.mapRequired("Type", Symbol.Type); in map()
535 IO.mapRequired("UDTName", Symbol.Name); in map()
538 template <> void SymbolRecordImpl<BuildInfoSym>::map(IO &IO) { in map() argument
539 IO.mapRequired("BuildId", Symbol.BuildId); in map()
542 template <> void SymbolRecordImpl<BPRelativeSym>::map(IO &IO) { in map() argument
543 IO.mapRequired("Offset", Symbol.Offset); in map()
544 IO.mapRequired("Type", Symbol.Type); in map()
545 IO.mapRequired("VarName", Symbol.Name); in map()
548 template <> void SymbolRecordImpl<RegRelativeSym>::map(IO &IO) { in map() argument
549 IO.mapRequired("Offset", Symbol.Offset); in map()
550 IO.mapRequired("Type", Symbol.Type); in map()
551 IO.mapRequired("Register", Symbol.Register); in map()
552 IO.mapRequired("VarName", Symbol.Name); in map()
555 template <> void SymbolRecordImpl<ConstantSym>::map(IO &IO) { in map() argument
556 IO.mapRequired("Type", Symbol.Type); in map()
557 IO.mapRequired("Value", Symbol.Value); in map()
558 IO.mapRequired("Name", Symbol.Name); in map()
561 template <> void SymbolRecordImpl<DataSym>::map(IO &IO) { in map() argument
562 IO.mapRequired("Type", Symbol.Type); in map()
563 IO.mapOptional("Offset", Symbol.DataOffset, 0U); in map()
564 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
565 IO.mapRequired("DisplayName", Symbol.Name); in map()
568 template <> void SymbolRecordImpl<ThreadLocalDataSym>::map(IO &IO) { in map() argument
569 IO.mapRequired("Type", Symbol.Type); in map()
570 IO.mapOptional("Offset", Symbol.DataOffset, 0U); in map()
571 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
572 IO.mapRequired("DisplayName", Symbol.Name); in map()
575 template <> void SymbolRecordImpl<UsingNamespaceSym>::map(IO &IO) { in map() argument
576 IO.mapRequired("Namespace", Symbol.Name); in map()
579 template <> void SymbolRecordImpl<AnnotationSym>::map(IO &IO) { in map() argument
580 IO.mapOptional("Offset", Symbol.CodeOffset, 0U); in map()
581 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0)); in map()
582 IO.mapRequired("Strings", Symbol.Strings); in map()
598 static void mapping(IO &io, SymbolRecordBase &Record) { Record.map(io); } in mapping()
632 static void mapSymbolRecordImpl(IO &IO, const char *Class, SymbolKind Kind, in mapSymbolRecordImpl() argument
634 if (!IO.outputting()) in mapSymbolRecordImpl()
637 IO.mapRequired(Class, *Obj.Symbol); in mapSymbolRecordImpl()
641 IO &IO, CodeViewYAML::SymbolRecord &Obj) { in mapping() argument
643 if (IO.outputting()) in mapping()
645 IO.mapRequired("Kind", Kind); in mapping()
649 mapSymbolRecordImpl<SymbolRecordImpl<ClassName>>(IO, #ClassName, Kind, \ in mapping()
657 mapSymbolRecordImpl<UnknownSymbolRecord>(IO, "UnknownSym", Kind, Obj); in mapping()