llvm/clang/lib/Analysis/FlowSensitive/Arena.cpp

//===-- Arena.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 "clang/Analysis/FlowSensitive/Arena.h"
#include "clang/Analysis/FlowSensitive/Formula.h"
#include "clang/Analysis/FlowSensitive/Value.h"
#include "llvm/Support/Error.h"
#include <string>

namespace clang::dataflow {

static std::pair<const Formula *, const Formula *>
canonicalFormulaPair(const Formula &LHS, const Formula &RHS) {}

template <class Key, class ComputeFunc>
const Formula &cached(llvm::DenseMap<Key, const Formula *> &Cache, Key K,
                      ComputeFunc &&Compute) {}

const Formula &Arena::makeAtomRef(Atom A) {}

const Formula &Arena::makeAnd(const Formula &LHS, const Formula &RHS) {}

const Formula &Arena::makeOr(const Formula &LHS, const Formula &RHS) {}

const Formula &Arena::makeNot(const Formula &Val) {}

const Formula &Arena::makeImplies(const Formula &LHS, const Formula &RHS) {}

const Formula &Arena::makeEquals(const Formula &LHS, const Formula &RHS) {}

IntegerValue &Arena::makeIntLiteral(llvm::APInt Value) {}

BoolValue &Arena::makeBoolValue(const Formula &F) {}

namespace {
const Formula *parse(Arena &A, llvm::StringRef &In) {}

class FormulaParseError : public llvm::ErrorInfo<FormulaParseError> {};

char FormulaParseError::ID =;

} // namespace

llvm::Expected<const Formula &> Arena::parseFormula(llvm::StringRef In) {}

} // namespace clang::dataflow