Skip to content

Commit 7edf1e1

Browse files
committed
Reduce check cases to bare minimum
1 parent e6390e4 commit 7edf1e1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

qiling/arch/register.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ class QlRegisterManager:
1515
arch directories and are mapped to Unicorn Engine's definitions
1616
"""
1717

18-
__priv_members = ('register_mapping', 'ql', 'uc_pc', 'uc_sp')
19-
2018
def __init__(self, ql: Qiling):
2119
self.register_mapping: MutableMapping[str, int] = {}
2220
self.reverse_mapping: Mapping[int, str] = {}
@@ -27,7 +25,8 @@ def __init__(self, ql: Qiling):
2725
def __getattr__(self, name: str) -> Any:
2826
name = name.lower()
2927

30-
if name in QlRegisterManager.__priv_members:
28+
# this is checked first to prevent endless recursion upon init
29+
if name == 'register_mapping':
3130
return super().__getattribute__(name)
3231

3332
elif name in self.register_mapping:
@@ -39,7 +38,8 @@ def __getattr__(self, name: str) -> Any:
3938
def __setattr__(self, name: str, value: Any):
4039
name = name.lower()
4140

42-
if name in QlRegisterManager.__priv_members:
41+
# this is checked first to prevent endless recursion upon init
42+
if name == 'register_mapping':
4343
super().__setattr__(name, value)
4444

4545
elif name in self.register_mapping:

0 commit comments

Comments
 (0)