Generate the `isle_assembler_methods!` macro.
(f: &mut Formatter, insts: &[Inst])
| 230 | |
| 231 | /// Generate the `isle_assembler_methods!` macro. |
| 232 | pub fn generate_rust_macro(f: &mut Formatter, insts: &[Inst]) { |
| 233 | fmtln!(f, "#[doc(hidden)]"); |
| 234 | fmtln!(f, "macro_rules! isle_assembler_methods {{"); |
| 235 | f.indent(|f| { |
| 236 | fmtln!(f, "() => {{"); |
| 237 | f.indent(|f| { |
| 238 | for inst in insts { |
| 239 | if include_inst(inst) { |
| 240 | generate_macro_inst_fn(f, inst); |
| 241 | } |
| 242 | } |
| 243 | }); |
| 244 | fmtln!(f, "}};"); |
| 245 | }); |
| 246 | fmtln!(f, "}}"); |
| 247 | } |
| 248 | |
| 249 | /// Returns the type of this operand in ISLE as a part of the ISLE "raw" |
| 250 | /// constructors. RegMem operand types are width-tagged based on the DSL |
no test coverage detected