/// \file monotoneframeworkexample.cpp /// \brief Example of minimal data-flow analysis using the MonotoneFramework /// class // // This file is distributed under the MIT License. See LICENSE.md for details. // // Note: this compilation unit should result in no code and no data namespace llvm { class Module; } // Local libraries includes #include "revng/Support/MonotoneFramework.h" namespace ExampleAnalysis { class Label {}; class LatticeElement { public: static LatticeElement bottom() { return LatticeElement(); } LatticeElement copy() { revng_abort(); } void combine(const LatticeElement &) { revng_abort(); } bool greaterThan(const LatticeElement &) { revng_abort(); } void dump() { revng_abort(); } }; class Interrupt { public: bool requiresInterproceduralHandling() { revng_abort(); } LatticeElement &&extractResult() { revng_abort(); } bool isReturn() const { revng_abort(); } }; class Analysis : public MonotoneFramework