brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · fb8b857 Raw
31 lines · c
1//===-- ClangExpressionUtil.h -----------------------------------*- C++ -*-===//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#ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONUTIL_H10#define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONUTIL_H11 12#include "lldb/lldb-private.h"13 14namespace lldb_private {15namespace ClangExpressionUtil {16/// Returns a ValueObject for the lambda class in the current frame17///18/// To represent a lambda, Clang generates an artificial class19/// whose members are the captures and whose operator() is the20/// lambda implementation. If we capture a 'this' pointer,21/// the artifical class will contain a member variable named 'this'.22///23/// This method returns the 'this' pointer to the artificial lambda24/// class if a real 'this' was captured. Otherwise, returns nullptr.25lldb::ValueObjectSP GetLambdaValueObject(StackFrame *frame);26 27} // namespace ClangExpressionUtil28} // namespace lldb_private29 30#endif // LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGEXPRESSIONHELPER_H31