Path: blob/main/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
39654 views
//===-- ClangExpressionUtil.h -----------------------------------*- C++ -*-===//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#ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONUTIL_H9#define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONUTIL_H1011#include "lldb/lldb-private.h"1213namespace lldb_private {14namespace ClangExpressionUtil {15/// Returns a ValueObject for the lambda class in the current frame16///17/// To represent a lambda, Clang generates an artificial class18/// whose members are the captures and whose operator() is the19/// lambda implementation. If we capture a 'this' pointer,20/// the artifical class will contain a member variable named 'this'.21///22/// This method returns the 'this' pointer to the artificial lambda23/// class if a real 'this' was captured. Otherwise, returns nullptr.24lldb::ValueObjectSP GetLambdaValueObject(StackFrame *frame);2526} // namespace ClangExpressionUtil27} // namespace lldb_private2829#endif // LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONHELPER_H303132