rabbitizer/
register_descriptor.rs

1/* SPDX-FileCopyrightText: © 2022-2024 Decompollaborate */
2/* SPDX-License-Identifier: MIT */
3
4#[repr(C)]
5#[derive(Debug, Copy, Clone)]
6#[allow(non_camel_case_types)]
7pub struct RegisterDescriptor {
8    is_clobbered_by_func_call: bool,
9    is_reserved: bool,
10    is_kernel: bool,
11    is_zero: bool,
12    is_at: bool,
13    is_return_reg: bool,
14    is_ra: bool,
15    is_stack_pointer: bool,
16    is_gp: bool,
17    is_temp: bool,
18    is_arg: bool,
19    is_saved: bool,
20}
21
22impl RegisterDescriptor {
23    pub fn is_clobbered_by_func_call(&self) -> bool {
24        self.is_clobbered_by_func_call
25    }
26    pub fn is_reserved(&self) -> bool {
27        self.is_reserved
28    }
29    pub fn is_kernel(&self) -> bool {
30        self.is_kernel
31    }
32    pub fn is_zero(&self) -> bool {
33        self.is_zero
34    }
35    pub fn is_at(&self) -> bool {
36        self.is_at
37    }
38    pub fn is_return_reg(&self) -> bool {
39        self.is_return_reg
40    }
41    pub fn is_ra(&self) -> bool {
42        self.is_ra
43    }
44    pub fn is_stack_pointer(&self) -> bool {
45        self.is_stack_pointer
46    }
47    pub fn is_gp(&self) -> bool {
48        self.is_gp
49    }
50    pub fn is_temp(&self) -> bool {
51        self.is_temp
52    }
53    pub fn is_arg(&self) -> bool {
54        self.is_arg
55    }
56    pub fn is_saved(&self) -> bool {
57        self.is_saved
58    }
59}