LLDB mainline
|
The rest of the classes in this file, except for the Visitor class at the very end, define all the types of AST nodes used by the DIL parser and expression evaluator. More...
#include <DILAST.h>
Public Member Functions | |
ASTNode (uint32_t location, NodeKind kind) | |
virtual | ~ASTNode ()=default |
virtual llvm::Expected< lldb::ValueObjectSP > | Accept (Visitor *v) const =0 |
uint32_t | GetLocation () const |
NodeKind | GetKind () const |
Private Attributes | |
uint32_t | m_location |
const NodeKind | m_kind |
The rest of the classes in this file, except for the Visitor class at the very end, define all the types of AST nodes used by the DIL parser and expression evaluator.
The DIL parser parses the input string and creates the AST parse tree from the AST nodes. The resulting AST node tree gets passed to the DIL expression evaluator, which evaluates the DIL AST nodes and creates/returns a ValueObjectSP containing the result. Base class for AST nodes used by the Data Inspection Language (DIL) parser. All of the specialized types of AST nodes inherit from this (virtual) base class.
|
inline |
Definition at line 54 of file DILAST.h.
References m_kind, and m_location.
Referenced by lldb_private::dil::ArraySubscriptNode::ArraySubscriptNode(), lldb_private::dil::BitFieldExtractionNode::BitFieldExtractionNode(), lldb_private::dil::BooleanLiteralNode::BooleanLiteralNode(), lldb_private::dil::ArraySubscriptNode::classof(), lldb_private::dil::BitFieldExtractionNode::classof(), lldb_private::dil::BooleanLiteralNode::classof(), lldb_private::dil::ErrorNode::classof(), lldb_private::dil::FloatLiteralNode::classof(), lldb_private::dil::IdentifierNode::classof(), lldb_private::dil::IntegerLiteralNode::classof(), lldb_private::dil::MemberOfNode::classof(), lldb_private::dil::UnaryOpNode::classof(), lldb_private::dil::ErrorNode::ErrorNode(), lldb_private::dil::FloatLiteralNode::FloatLiteralNode(), lldb_private::dil::ArraySubscriptNode::GetBase(), lldb_private::dil::BitFieldExtractionNode::GetBase(), lldb_private::dil::MemberOfNode::GetBase(), lldb_private::dil::UnaryOpNode::GetOperand(), lldb_private::dil::IdentifierNode::IdentifierNode(), lldb_private::dil::IntegerLiteralNode::IntegerLiteralNode(), lldb_private::dil::MemberOfNode::MemberOfNode(), and lldb_private::dil::UnaryOpNode::UnaryOpNode().
|
virtualdefault |
|
pure virtual |
Implemented in lldb_private::dil::ArraySubscriptNode, lldb_private::dil::BitFieldExtractionNode, lldb_private::dil::BooleanLiteralNode, lldb_private::dil::ErrorNode, lldb_private::dil::FloatLiteralNode, lldb_private::dil::IdentifierNode, lldb_private::dil::IntegerLiteralNode, lldb_private::dil::MemberOfNode, and lldb_private::dil::UnaryOpNode.
Referenced by lldb_private::dil::Interpreter::Evaluate().
|
inline |
Definition at line 61 of file DILAST.h.
References m_kind.
Referenced by lldb_private::dil::ArraySubscriptNode::classof(), lldb_private::dil::BitFieldExtractionNode::classof(), lldb_private::dil::BooleanLiteralNode::classof(), lldb_private::dil::ErrorNode::classof(), lldb_private::dil::FloatLiteralNode::classof(), lldb_private::dil::IdentifierNode::classof(), lldb_private::dil::IntegerLiteralNode::classof(), lldb_private::dil::MemberOfNode::classof(), and lldb_private::dil::UnaryOpNode::classof().
|
inline |
Definition at line 60 of file DILAST.h.
References m_location.
Referenced by lldb_private::dil::Interpreter::PickIntegerType(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
|
private |
|
private |
Definition at line 64 of file DILAST.h.
Referenced by ASTNode(), and GetLocation().