Path: blob/main/contrib/llvm-project/lldb/source/DataFormatters/FormatClasses.cpp
39587 views
//===-- FormatClasses.cpp -------------------------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "lldb/DataFormatters/FormatClasses.h"910#include "lldb/DataFormatters/FormatManager.h"111213141516using namespace lldb;17using namespace lldb_private;1819FormattersMatchData::FormattersMatchData(ValueObject &valobj,20lldb::DynamicValueType use_dynamic)21: m_valobj(valobj), m_dynamic_value_type(use_dynamic),22m_formatters_match_vector({}, false), m_type_for_cache(),23m_candidate_languages() {24m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic);25m_candidate_languages =26FormatManager::GetCandidateLanguages(valobj.GetObjectRuntimeLanguage());27}2829FormattersMatchVector FormattersMatchData::GetMatchesVector() {30if (!m_formatters_match_vector.second) {31m_formatters_match_vector.second = true;32m_formatters_match_vector.first =33FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type);34}35return m_formatters_match_vector.first;36}3738ConstString FormattersMatchData::GetTypeForCache() { return m_type_for_cache; }3940CandidateLanguagesVector FormattersMatchData::GetCandidateLanguages() {41return m_candidate_languages;42}4344ValueObject &FormattersMatchData::GetValueObject() { return m_valobj; }4546lldb::DynamicValueType FormattersMatchData::GetDynamicValueType() {47return m_dynamic_value_type;48}495051