MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::VarRewriter Class Reference

#include <mim/rewrite.h>

Inheritance diagram for mim::VarRewriter:
[legend]

Public Member Functions

 VarRewriter (World &world)
 
 VarRewriter (const Var *var, const Def *arg)
 
void add (const Var *var, const Def *arg)
 
void push () final
 
void pop () final
 
const Defrewrite (const Def *old_def) final
 
const Defrewrite_mut (Def *mut) final
 
- Public Member Functions inherited from mim::Rewriter
 Rewriter (std::unique_ptr< World > &&ptr)
 
 Rewriter (World &world)
 
void reset (std::unique_ptr< World > &&ptr)
 
void reset ()
 
Worldworld ()
 
const Defmap (const Def *old_def, const Def *new_def)
 Map old_def to new_def and returns new_def.
 
const Deflookup (const Def *old_def)
 Lookup old_def by searching in reverse through the stack of maps.
 
virtual const Defrewrite_imm (const Def *)
 
virtual const Defrewrite_stub (Def *, Def *)
 
virtual DefVec rewrite (Defs)
 
virtual const Defrewrite_imm_Seq (const Seq *seq)
 
virtual const Defrewrite_mut_Seq (Seq *seq)
 

Detailed Description

Definition at line 82 of file rewrite.h.

Constructor & Destructor Documentation

◆ VarRewriter() [1/2]

mim::VarRewriter::VarRewriter ( World & world)
inline

Definition at line 84 of file rewrite.h.

References mim::Rewriter::Rewriter(), and mim::Rewriter::world().

◆ VarRewriter() [2/2]

mim::VarRewriter::VarRewriter ( const Var * var,
const Def * arg )
inline

Definition at line 87 of file rewrite.h.

References add(), mim::Rewriter::Rewriter(), and mim::Rewriter::world().

Member Function Documentation

◆ add()

void mim::VarRewriter::add ( const Var * var,
const Def * arg )
inline

Definition at line 92 of file rewrite.h.

References mim::Rewriter::map().

Referenced by VarRewriter().

◆ pop()

void mim::VarRewriter::pop ( )
inlinefinalvirtual

Reimplemented from mim::Rewriter.

Definition at line 102 of file rewrite.h.

References mim::Rewriter::pop().

◆ push()

void mim::VarRewriter::push ( )
inlinefinalvirtual

Reimplemented from mim::Rewriter.

Definition at line 97 of file rewrite.h.

References mim::Rewriter::push().

◆ rewrite()

const Def * mim::VarRewriter::rewrite ( const Def * old_def)
inlinefinalvirtual

◆ rewrite_mut()

const Def * mim::VarRewriter::rewrite_mut ( Def * mut)
inlinefinalvirtual

Reimplemented from mim::Rewriter.

Definition at line 118 of file rewrite.h.

References mim::Rewriter::rewrite_mut(), mim::World::vars(), and mim::Rewriter::world().

Referenced by rewrite().


The documentation for this class was generated from the following file: