//===-- UserExpression.h ----------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_EXPRESSION_USEREXPRESSION_H #define LLDB_EXPRESSION_USEREXPRESSION_H #include <memory> #include <string> #include <vector> #include "lldb/Core/Address.h" #include "lldb/Expression/Expression.h" #include "lldb/Expression/Materializer.h" #include "lldb/Target/ExecutionContext.h" #include "lldb/Target/Target.h" #include "lldb/lldb-forward.h" #include "lldb/lldb-private.h" namespace lldb_private { /// \class UserExpression UserExpression.h "lldb/Expression/UserExpression.h" /// Encapsulates a one-time expression for use in lldb. /// /// LLDB uses expressions for various purposes, notably to call functions /// and as a backend for the expr command. UserExpression is a virtual base /// class that encapsulates the objects needed to parse and interpret or /// JIT an expression. The actual parsing part will be provided by the specific /// implementations of UserExpression - which will be vended through the /// appropriate TypeSystem. class UserExpression : public Expression { … }; } // namespace lldb_private #endif // LLDB_EXPRESSION_USEREXPRESSION_H