LLDB mainline
DILAST.cpp
Go to the documentation of this file.
1//===-- DILAST.cpp --------------------------------------------------------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
10#include "llvm/Support/ErrorHandling.h"
11
12namespace lldb_private::dil {
13
15 switch (token_kind) {
16 case Token::plus:
17 return BinaryOpKind::Add;
18 case Token::minus:
19 return BinaryOpKind::Sub;
20 default:
21 break;
22 }
23 llvm_unreachable("Unknown binary operator kind.");
24}
25
26llvm::Expected<lldb::ValueObjectSP> ErrorNode::Accept(Visitor *v) const {
27 llvm_unreachable("Attempting to Visit a DIL ErrorNode.");
28}
29
30llvm::Expected<lldb::ValueObjectSP> IdentifierNode::Accept(Visitor *v) const {
31 return v->Visit(*this);
32}
33
34llvm::Expected<lldb::ValueObjectSP> MemberOfNode::Accept(Visitor *v) const {
35 return v->Visit(*this);
36}
37
38llvm::Expected<lldb::ValueObjectSP> UnaryOpNode::Accept(Visitor *v) const {
39 return v->Visit(*this);
40}
41
42llvm::Expected<lldb::ValueObjectSP> BinaryOpNode::Accept(Visitor *v) const {
43 return v->Visit(*this);
44}
45
46llvm::Expected<lldb::ValueObjectSP>
48 return v->Visit(*this);
49}
50
51llvm::Expected<lldb::ValueObjectSP>
53 return v->Visit(*this);
54}
55
56llvm::Expected<lldb::ValueObjectSP>
58 return v->Visit(*this);
59}
60
61llvm::Expected<lldb::ValueObjectSP> FloatLiteralNode::Accept(Visitor *v) const {
62 return v->Visit(*this);
63}
64
65llvm::Expected<lldb::ValueObjectSP>
67 return v->Visit(*this);
68}
69
70llvm::Expected<lldb::ValueObjectSP> CastNode::Accept(Visitor *v) const {
71 return v->Visit(*this);
72}
73
74} // namespace lldb_private::dil
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:47
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:42
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:52
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:66
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:70
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:26
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:61
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:30
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:57
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:34
llvm::Expected< lldb::ValueObjectSP > Accept(Visitor *v) const override
Definition DILAST.cpp:38
This class contains one Visit method for each specialized type of DIL AST node.
Definition DILAST.h:319
virtual llvm::Expected< lldb::ValueObjectSP > Visit(const IdentifierNode &node)=0
BinaryOpKind
The binary operators recognized by DIL.
Definition DILAST.h:44
BinaryOpKind GetBinaryOpKindFromToken(Token::Kind token_kind)
Translates DIL tokens to BinaryOpKind.
Definition DILAST.cpp:14