コード例 #1
0
ファイル: TypeDumper.cpp プロジェクト: delcypher/llvm
void CVTypeDumperImpl::visitBaseClass(TypeLeafKind Leaf,
                                      BaseClassRecord &Base) {
    DictScope S(W, "BaseClass");
    printMemberAttributes(Base.getAccess(), MethodKind::Vanilla,
                          MethodOptions::None);
    printTypeIndex("BaseType", Base.getBaseType());
    W.printHex("BaseOffset", Base.getBaseOffset());
}
コード例 #2
0
ファイル: TypeDumpVisitor.cpp プロジェクト: davidlt/root
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
                                        BaseClassRecord &Base) {
  printMemberAttributes(Base.getAccess(), MethodKind::Vanilla,
                        MethodOptions::None);
  printTypeIndex("BaseType", Base.getBaseType());
  W->printHex("BaseOffset", Base.getBaseOffset());
  return Error::success();
}
コード例 #3
0
Error UdtRecordCompleter::visitKnownMember(CVMemberRecord &cvr,
                                           BaseClassRecord &base) {
  clang::QualType base_qt =
      AddBaseClassForTypeIndex(base.Type, base.getAccess());

  auto decl =
      m_ast_builder.clang().GetAsCXXRecordDecl(base_qt.getAsOpaquePtr());
  lldbassert(decl);

  auto offset = clang::CharUnits::fromQuantity(base.getBaseOffset());
  m_layout.base_offsets.insert(std::make_pair(decl, offset));

  return llvm::Error::success();
}