1 //===-- ExpressionTypeSystemHelper.h ---------------------------------*- C++ 2 //-*-===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_EXPRESSION_EXPRESSIONTYPESYSTEMHELPER_H 11 #define LLDB_EXPRESSION_EXPRESSIONTYPESYSTEMHELPER_H 12 13 #include "llvm/Support/Casting.h" 14 #include "llvm/Support/ExtensibleRTTI.h" 15 16 namespace lldb_private { 17 18 /// \class ExpressionTypeSystemHelper ExpressionTypeSystemHelper.h 19 /// "lldb/Expression/ExpressionTypeSystemHelper.h" 20 /// A helper object that the Expression can pass to its ExpressionParser 21 /// to provide generic information that any type of expression will need to 22 /// supply. It's only job is to support dyn_cast so that the expression parser 23 /// can cast it back to the requisite specific type. 24 /// 25 26 class ExpressionTypeSystemHelper 27 : public llvm::RTTIExtends<ExpressionTypeSystemHelper, llvm::RTTIRoot> { 28 public: 29 /// LLVM RTTI support 30 static char ID; 31 32 virtual ~ExpressionTypeSystemHelper() = default; 33 }; 34 35 } // namespace lldb_private 36 37 #endif // LLDB_EXPRESSION_EXPRESSIONTYPESYSTEMHELPER_H 38