summaryrefslogtreecommitdiff
path: root/tools/splat/disassembler/disassembler_instance.py
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2023-07-14 14:44:11 -0400
committerGitHub <noreply@github.com>2023-07-14 14:44:11 -0400
commitce93cd026259b5724a8de4a2d3bb2e87297ce5e4 (patch)
tree33797b411d2451d9aeddd3b43d7fe2d7b244fa56 /tools/splat/disassembler/disassembler_instance.py
parent39a2e453bb882b2498c7c4aa9073a9f85d048f0c (diff)
Update subrepos (#19)
* git subrepo pull --force tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "6dd4d3a" upstream: origin: "git@github.com:simonlindholm/asm-processor.git" branch: "main" commit: "6dd4d3a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull lib/ultralib --force subrepo: subdir: "lib/ultralib" merged: "0417857" upstream: origin: "git@github.com:decompals/ultralib.git" branch: "main" commit: "0417857" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/asm-differ --force subrepo: subdir: "tools/asm-differ" merged: "6d3e4c4" upstream: origin: "git@github.com:simonlindholm/asm-differ.git" branch: "main" commit: "6d3e4c4" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/splat --force subrepo: subdir: "tools/splat" merged: "406b646" upstream: origin: "git@github.com:ethteck/splat.git" branch: "master" commit: "406b646" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * Revert "git subrepo pull lib/ultralib --force" This reverts commit da9fca47be7d8f957b786c02d7bf4b4a48830f4a. * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "7869ef2" upstream: origin: "git@github.com:ethteck/splat.git" branch: "master" commit: "7869ef2" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * Disable asm size directive
Diffstat (limited to 'tools/splat/disassembler/disassembler_instance.py')
-rw-r--r--tools/splat/disassembler/disassembler_instance.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/splat/disassembler/disassembler_instance.py b/tools/splat/disassembler/disassembler_instance.py
new file mode 100644
index 0000000..988fe3c
--- /dev/null
+++ b/tools/splat/disassembler/disassembler_instance.py
@@ -0,0 +1,26 @@
+from .disassembler import Disassembler
+from .spimdisasm_disassembler import SpimdisasmDisassembler
+from .null_disassembler import NullDisassembler
+
+__instance: Disassembler = NullDisassembler()
+__initialized = False
+
+
+def create_disassembler_instance(platform: str):
+ global __instance
+ global __initialized
+ if platform in ["n64", "psx", "ps2"]:
+ __instance = SpimdisasmDisassembler()
+ __initialized = True
+ return
+
+ raise NotImplementedError("No disassembler for requested platform")
+
+
+def get_instance() -> Disassembler:
+ global __instance
+ global __initialized
+ if not __initialized:
+ raise Exception("Disassembler instance not initialized")
+ return None
+ return __instance