MimIR
0.4-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
autogen.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
mim/axm.h
>
4
#include <
mim/plugin.h
>
5
6
/// @namespace mim::plug::demo @ref demo
7
namespace
mim
{
8
namespace
plug::demo
{
9
10
static
constexpr
plugin_t
Plugin_Id
= 0x1463900000000000;
11
12
/// @name %%demo.const_idx
13
///@{
14
enum class
const_idx
:
flags_t
{
15
};
16
17
const
Def
*
normalize_const
(
const
Def
*,
const
Def
*,
const
Def
*);
18
///@}
19
20
void
register_normalizers
(
Normalizers
& normalizers);
21
22
#define MIM_demo_NORMALIZER_IMPL \
23
void register_normalizers(Normalizers& normalizers) {\
24
normalizers[flags_t(Annex::Base<const_idx>)] = &normalize_const; \
25
}
26
}
// namespace plug::demo
27
28
#ifndef DOXYGEN
// don't include in Doxygen documentation
29
30
template
<>
constexpr
flags_t
Annex::Base<plug::demo::const_idx>
= 0x1463900000000000;
31
template
<>
constexpr
size_t
Annex::Num<plug::demo::const_idx>
= 0;
32
33
34
#endif
35
}
// namespace mim
36
37
#ifndef DOXYGEN
// don't include in Doxygen documentation
38
39
40
#endif
axm.h
mim::Def
Base class for all Defs.
Definition
def.h:273
mim::plug::demo
The demo Plugin
Definition
normalizers.cpp:5
mim::plug::demo::const_idx
const_idx
Definition
autogen.h:14
mim::plug::demo::Plugin_Id
static constexpr plugin_t Plugin_Id
Definition
autogen.h:10
mim::plug::demo::normalize_const
const Def * normalize_const(const Def *type, const Def *, const Def *arg)
Definition
normalizers.cpp:7
mim::plug::demo::register_normalizers
void register_normalizers(Normalizers &normalizers)
mim
Definition
ast.h:16
mim::flags_t
u64 flags_t
Definition
types.h:39
mim::Normalizers
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
Definition
plugin.h:27
mim::plugin_t
u64 plugin_t
Definition
types.h:40
plugin.h
mim::Annex::Num
static constexpr size_t Num
Number of Axm::subtags.
Definition
plugin.h:247
mim::Annex::Base
static constexpr flags_t Base
Definition
plugin.h:248
build
include
mim
plug
demo
autogen.h
Generated by
1.18.0