Пример #1
0
void CVTypeDumperImpl::visitVirtualBaseClass(TypeLeafKind Leaf,
        VirtualBaseClassRecord &Base) {
    DictScope S(W, "VirtualBaseClass");
    printMemberAttributes(Base.getAccess(), MethodKind::Vanilla,
                          MethodOptions::None);
    printTypeIndex("BaseType", Base.getBaseType());
    printTypeIndex("VBPtrType", Base.getVBPtrType());
    W.printHex("VBPtrOffset", Base.getVBPtrOffset());
    W.printHex("VBTableIndex", Base.getVTableIndex());
}
Пример #2
0
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
                                        VirtualBaseClassRecord &Base) {
  printMemberAttributes(Base.getAccess(), MethodKind::Vanilla,
                        MethodOptions::None);
  printTypeIndex("BaseType", Base.getBaseType());
  printTypeIndex("VBPtrType", Base.getVBPtrType());
  W->printHex("VBPtrOffset", Base.getVBPtrOffset());
  W->printHex("VBTableIndex", Base.getVTableIndex());
  return Error::success();
}
Error UdtRecordCompleter::visitKnownMember(CVMemberRecord &cvr,
                                           VirtualBaseClassRecord &base) {
  AddBaseClassForTypeIndex(base.BaseType, base.getAccess());

  // FIXME: Handle virtual base offsets.
  return Error::success();
}