MimIR
0.4-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
unload.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
mim/phase.h
"
4
5
namespace
mim
{
6
7
class
Unload
:
public
Phase
{
8
public
:
9
Unload
(
World
&
world
,
flags_t
annex
)
10
:
Phase
(
world
,
annex
) {}
11
12
void
apply
(std::string);
13
void
apply
(
const
App
* app)
final
{
apply
(
tuple2str
(app->arg())); }
14
void
apply
(
Phase
& p)
final
{
apply
(std::move(
static_cast<
Unload
&
>
(p).plugin_str_)); }
15
16
private
:
17
void
start
() final;
18
19
std::
string
plugin_str_;
20
plugin_t
plugin_;
21
};
22
23
}
// namespace mim
mim::App
Definition
lam.h:224
mim::Phase::annex
flags_t annex() const
Definition
phase.h:81
mim::Phase::Phase
Phase(World &world, std::string name)
Definition
phase.h:29
mim::Phase::world
World & world()
Definition
phase.h:77
mim::Unload::apply
void apply(std::string)
Definition
unload.cpp:7
mim::Unload::apply
void apply(const App *app) final
Invoked if your Phase has additional args.
Definition
unload.h:13
mim::Unload::apply
void apply(Phase &p) final
Dito, but invoked by Phase::recreate.
Definition
unload.h:14
mim::Unload::Unload
Unload(World &world, flags_t annex)
Definition
unload.h:9
mim::Unload::start
void start() final
Actual entry.
Definition
unload.cpp:16
mim::World
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition
world.h:40
mim
Definition
ast.h:16
mim::flags_t
u64 flags_t
Definition
types.h:39
mim::tuple2str
std::string tuple2str(const Def *)
Definition
tuple.cpp:48
mim::plugin_t
u64 plugin_t
Definition
types.h:40
phase.h
include
mim
phase
unload.h
Generated by
1.18.0