brintos

brintos / llvm-project-archived public Read only

0
0
Text · 882 B · bfe86e4 Raw
26 lines · cpp
1//===-- Generic.cpp ------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===---------------------------------------------------------------------===//8 9#include "Generic.h"10#include "LibStdcpp.h"11#include "MsvcStl.h"12 13lldb::ValueObjectSP lldb_private::formatters::GetDesugaredSmartPointerValue(14    ValueObject &ptr, ValueObject &container) {15  auto container_type = container.GetCompilerType().GetNonReferenceType();16  if (!container_type)17    return nullptr;18 19  auto arg = container_type.GetTypeTemplateArgument(0);20  if (!arg)21    // If there isn't enough debug info, use the pointer type as is22    return ptr.GetSP();23 24  return ptr.Cast(arg.GetPointerType());25}26