//===-- DILAST.cpp --------------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// #include "lldb/ValueObject/DILAST.h" #include "llvm/Support/ErrorHandling.h" namespace lldb_private::dil { BinaryOpKind GetBinaryOpKindFromToken(Token::Kind token_kind) { switch (token_kind) { case Token::plus: return BinaryOpKind::Add; case Token::minus: return BinaryOpKind::Sub; case Token::star: return BinaryOpKind::Mul; case Token::slash: return BinaryOpKind::Div; case Token::percent: return BinaryOpKind::Rem; default: break; } llvm_unreachable("Unknown binary operator kind."); } llvm::Expected ErrorNode::Accept(Visitor *v) const { llvm_unreachable("Attempting to Visit a DIL ErrorNode."); } llvm::Expected IdentifierNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected MemberOfNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected UnaryOpNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected BinaryOpNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected ArraySubscriptNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected BitFieldExtractionNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected IntegerLiteralNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected FloatLiteralNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected BooleanLiteralNode::Accept(Visitor *v) const { return v->Visit(*this); } llvm::Expected CastNode::Accept(Visitor *v) const { return v->Visit(*this); } } // namespace lldb_private::dil