llvm/lldb/source/Symbol/PostfixExpression.cpp

//===-- PostfixExpression.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
//
//===----------------------------------------------------------------------===//
//
//  This file implements support for postfix expressions found in several symbol
//  file formats, and their conversion to DWARF.
//
//===----------------------------------------------------------------------===//

#include "lldb/Symbol/PostfixExpression.h"
#include "lldb/Core/dwarf.h"
#include "lldb/Utility/Stream.h"
#include "llvm/ADT/StringExtras.h"
#include <optional>

usingnamespacelldb_private;
usingnamespacelldb_private::postfix;
usingnamespacelldb_private::dwarf;

static std::optional<BinaryOpNode::OpType>
GetBinaryOpType(llvm::StringRef token) {}

static std::optional<UnaryOpNode::OpType>
GetUnaryOpType(llvm::StringRef token) {}

Node *postfix::ParseOneExpression(llvm::StringRef expr,
                                  llvm::BumpPtrAllocator &alloc) {}

std::vector<std::pair<llvm::StringRef, Node *>>
postfix::ParseFPOProgram(llvm::StringRef prog, llvm::BumpPtrAllocator &alloc) {}

namespace {
class SymbolResolver : public Visitor<bool> {};

class DWARFCodegen : public Visitor<> {};
} // namespace

void DWARFCodegen::Visit(BinaryOpNode &binary, Node *&) {}

void DWARFCodegen::Visit(InitialValueNode &, Node *&) {}

void DWARFCodegen::Visit(RegisterNode &reg, Node *&) {}

void DWARFCodegen::Visit(UnaryOpNode &unary, Node *&) {}

bool postfix::ResolveSymbols(
    Node *&node, llvm::function_ref<Node *(SymbolNode &)> replacer) {}

void postfix::ToDWARF(Node &node, Stream &stream) {}