Lines Matching full:symbol

1 //===- CodeViewYAMLSymbols.cpp - CodeView YAMLIO Symbol implementation ----===//
257 : SymbolRecordBase(K), Symbol(static_cast<SymbolRecordKind>(K)) {}
264 return SymbolSerializer::writeOneSymbol(Symbol, Allocator, Container);
268 return SymbolDeserializer::deserializeAs<T>(CVS, Symbol);
271 mutable T Symbol;
316 IO.mapRequired("Parent", Symbol.Parent);
317 IO.mapRequired("End", Symbol.End);
318 IO.mapRequired("Next", Symbol.Next);
319 IO.mapRequired("Off", Symbol.Offset);
320 IO.mapRequired("Seg", Symbol.Segment);
321 IO.mapRequired("Len", Symbol.Length);
322 IO.mapRequired("Ordinal", Symbol.Thunk);
326 IO.mapRequired("Type", Symbol.Type);
327 IO.mapRequired("Size", Symbol.Size);
328 IO.mapRequired("ThunkOff", Symbol.ThunkOffset);
329 IO.mapRequired("TargetOff", Symbol.TargetOffset);
330 IO.mapRequired("ThunkSection", Symbol.ThunkSection);
331 IO.mapRequired("TargetSection", Symbol.TargetSection);
335 IO.mapRequired("SectionNumber", Symbol.SectionNumber);
336 IO.mapRequired("Alignment", Symbol.Alignment);
337 IO.mapRequired("Rva", Symbol.Rva);
338 IO.mapRequired("Length", Symbol.Length);
339 IO.mapRequired("Characteristics", Symbol.Characteristics);
340 IO.mapRequired("Name", Symbol.Name);
344 IO.mapRequired("Size", Symbol.Size);
345 IO.mapRequired("Characteristics", Symbol.Characteristics);
346 IO.mapRequired("Offset", Symbol.Offset);
347 IO.mapRequired("Segment", Symbol.Segment);
348 IO.mapRequired("Name", Symbol.Name);
352 IO.mapRequired("Ordinal", Symbol.Ordinal);
353 IO.mapRequired("Flags", Symbol.Flags);
354 IO.mapRequired("Name", Symbol.Name);
358 IO.mapOptional("PtrParent", Symbol.Parent, 0U);
359 IO.mapOptional("PtrEnd", Symbol.End, 0U);
360 IO.mapOptional("PtrNext", Symbol.Next, 0U);
361 IO.mapRequired("CodeSize", Symbol.CodeSize);
362 IO.mapRequired("DbgStart", Symbol.DbgStart);
363 IO.mapRequired("DbgEnd", Symbol.DbgEnd);
364 IO.mapRequired("FunctionType", Symbol.FunctionType);
365 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
366 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
367 IO.mapRequired("Flags", Symbol.Flags);
368 IO.mapRequired("DisplayName", Symbol.Name);
372 IO.mapRequired("Type", Symbol.Index);
373 IO.mapRequired("Seg", Symbol.Register);
374 IO.mapRequired("Name", Symbol.Name);
378 IO.mapRequired("Flags", Symbol.Flags);
379 IO.mapOptional("Offset", Symbol.Offset, 0U);
380 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
381 IO.mapRequired("Name", Symbol.Name);
385 IO.mapRequired("SumName", Symbol.SumName);
386 IO.mapRequired("SymOffset", Symbol.SymOffset);
387 IO.mapRequired("Mod", Symbol.Module);
388 IO.mapRequired("Name", Symbol.Name);
392 IO.mapRequired("Entries", Symbol.Fields);
396 IO.mapOptional("PtrParent", Symbol.Parent, 0U);
397 IO.mapOptional("PtrEnd", Symbol.End, 0U);
398 IO.mapRequired("Inlinee", Symbol.Inlinee);
403 IO.mapRequired("Type", Symbol.Type);
404 IO.mapRequired("Flags", Symbol.Flags);
406 IO.mapRequired("VarName", Symbol.Name);
410 IO.mapRequired("Program", Symbol.Program);
411 IO.mapRequired("Range", Symbol.Range);
412 IO.mapRequired("Gaps", Symbol.Gaps);
416 IO.mapRequired("Program", Symbol.Program);
417 IO.mapRequired("OffsetInParent", Symbol.OffsetInParent);
418 IO.mapRequired("Range", Symbol.Range);
419 IO.mapRequired("Gaps", Symbol.Gaps);
423 IO.mapRequired("Register", Symbol.Hdr.Register);
424 IO.mapRequired("MayHaveNoName", Symbol.Hdr.MayHaveNoName);
425 IO.mapRequired("Range", Symbol.Range);
426 IO.mapRequired("Gaps", Symbol.Gaps);
430 IO.mapRequired("Offset", Symbol.Hdr.Offset);
431 IO.mapRequired("Range", Symbol.Range);
432 IO.mapRequired("Gaps", Symbol.Gaps);
436 IO.mapRequired("Register", Symbol.Hdr.Register);
437 IO.mapRequired("MayHaveNoName", Symbol.Hdr.MayHaveNoName);
438 IO.mapRequired("OffsetInParent", Symbol.Hdr.OffsetInParent);
439 IO.mapRequired("Range", Symbol.Range);
440 IO.mapRequired("Gaps", Symbol.Gaps);
445 IO.mapRequired("Register", Symbol.Offset);
449 IO.mapRequired("Register", Symbol.Hdr.Register);
450 IO.mapRequired("Flags", Symbol.Hdr.Flags);
451 IO.mapRequired("BasePointerOffset", Symbol.Hdr.BasePointerOffset);
452 IO.mapRequired("Range", Symbol.Range);
453 IO.mapRequired("Gaps", Symbol.Gaps);
457 IO.mapOptional("PtrParent", Symbol.Parent, 0U);
458 IO.mapOptional("PtrEnd", Symbol.End, 0U);
459 IO.mapRequired("CodeSize", Symbol.CodeSize);
460 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
461 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
462 IO.mapRequired("BlockName", Symbol.Name);
466 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
467 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
468 IO.mapRequired("Flags", Symbol.Flags);
469 IO.mapRequired("DisplayName", Symbol.Name);
473 IO.mapRequired("Signature", Symbol.Signature);
474 IO.mapRequired("ObjectName", Symbol.Name);
478 IO.mapRequired("Flags", Symbol.Flags);
479 IO.mapRequired("Machine", Symbol.Machine);
480 IO.mapRequired("FrontendMajor", Symbol.VersionFrontendMajor);
481 IO.mapRequired("FrontendMinor", Symbol.VersionFrontendMinor);
482 IO.mapRequired("FrontendBuild", Symbol.VersionFrontendBuild);
483 IO.mapRequired("BackendMajor", Symbol.VersionBackendMajor);
484 IO.mapRequired("BackendMinor", Symbol.VersionBackendMinor);
485 IO.mapRequired("BackendBuild", Symbol.VersionBackendBuild);
486 IO.mapRequired("Version", Symbol.Version);
490 IO.mapRequired("Flags", Symbol.Flags);
491 IO.mapRequired("Machine", Symbol.Machine);
492 IO.mapRequired("FrontendMajor", Symbol.VersionFrontendMajor);
493 IO.mapRequired("FrontendMinor", Symbol.VersionFrontendMinor);
494 IO.mapRequired("FrontendBuild", Symbol.VersionFrontendBuild);
495 IO.mapRequired("FrontendQFE", Symbol.VersionFrontendQFE);
496 IO.mapRequired("BackendMajor", Symbol.VersionBackendMajor);
497 IO.mapRequired("BackendMinor", Symbol.VersionBackendMinor);
498 IO.mapRequired("BackendBuild", Symbol.VersionBackendBuild);
499 IO.mapRequired("BackendQFE", Symbol.VersionBackendQFE);
500 IO.mapRequired("Version", Symbol.Version);
504 IO.mapRequired("TotalFrameBytes", Symbol.TotalFrameBytes);
505 IO.mapRequired("PaddingFrameBytes", Symbol.PaddingFrameBytes);
506 IO.mapRequired("OffsetToPadding", Symbol.OffsetToPadding);
508 Symbol.BytesOfCalleeSavedRegisters);
509 IO.mapRequired("OffsetOfExceptionHandler", Symbol.OffsetOfExceptionHandler);
511 Symbol.SectionIdOfExceptionHandler);
512 IO.mapRequired("Flags", Symbol.Flags);
516 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
517 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
518 IO.mapRequired("Type", Symbol.Type);
522 IO.mapRequired("Index", Symbol.Index);
523 IO.mapRequired("ModFilenameOffset", Symbol.ModFilenameOffset);
524 IO.mapRequired("Flags", Symbol.Flags);
525 IO.mapRequired("Name", Symbol.Name);
529 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
530 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
531 IO.mapRequired("CallInstructionSize", Symbol.CallInstructionSize);
532 IO.mapRequired("Type", Symbol.Type);
536 IO.mapRequired("Register", Symbol.Register);
537 IO.mapRequired("CookieKind", Symbol.CookieKind);
538 IO.mapRequired("Flags", Symbol.Flags);
542 IO.mapRequired("FuncID", Symbol.Indices);
546 IO.mapRequired("Type", Symbol.Type);
547 IO.mapRequired("UDTName", Symbol.Name);
551 IO.mapRequired("BuildId", Symbol.BuildId);
555 IO.mapRequired("Offset", Symbol.Offset);
556 IO.mapRequired("Type", Symbol.Type);
557 IO.mapRequired("VarName", Symbol.Name);
561 IO.mapRequired("Offset", Symbol.Offset);
562 IO.mapRequired("Type", Symbol.Type);
563 IO.mapRequired("Register", Symbol.Register);
564 IO.mapRequired("VarName", Symbol.Name);
568 IO.mapRequired("Type", Symbol.Type);
569 IO.mapRequired("Value", Symbol.Value);
570 IO.mapRequired("Name", Symbol.Name);
574 IO.mapRequired("Type", Symbol.Type);
575 IO.mapOptional("Offset", Symbol.DataOffset, 0U);
576 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
577 IO.mapRequired("DisplayName", Symbol.Name);
581 IO.mapRequired("Type", Symbol.Type);
582 IO.mapOptional("Offset", Symbol.DataOffset, 0U);
583 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
584 IO.mapRequired("DisplayName", Symbol.Name);
588 IO.mapRequired("Namespace", Symbol.Name);
592 IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
593 IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
594 IO.mapRequired("Strings", Symbol.Strings);
598 IO.mapRequired("BaseOffset", Symbol.BaseOffset);
599 IO.mapRequired("BaseSegment", Symbol.BaseSegment);
600 IO.mapRequired("SwitchType", Symbol.SwitchType);
601 IO.mapRequired("BranchOffset", Symbol.BranchOffset);
602 IO.mapRequired("TableOffset", Symbol.TableOffset);
603 IO.mapRequired("BranchSegment", Symbol.BranchSegment);
604 IO.mapRequired("TableSegment", Symbol.TableSegment);
605 IO.mapRequired("EntriesCount", Symbol.EntriesCount);
614 return Symbol->toCodeViewSymbol(Allocator, Container);
629 fromCodeViewSymbolImpl(CVSymbol Symbol) {
632 auto Impl = std::make_shared<SymbolType>(Symbol.kind());
633 if (auto EC = Impl->fromCodeViewSymbol(Symbol))
635 Result.Symbol = Impl;
640 CodeViewYAML::SymbolRecord::fromCodeViewSymbol(CVSymbol Symbol) {
643 return fromCodeViewSymbolImpl<SymbolRecordImpl<ClassName>>(Symbol);
646 switch (Symbol.kind()) {
649 return fromCodeViewSymbolImpl<UnknownSymbolRecord>(Symbol);
658 Obj.Symbol = std::make_shared<ConcreteType>(Kind);
660 IO.mapRequired(Class, *Obj.Symbol);
667 Kind = Obj.Symbol->Kind;