summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_disassembler.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-04-06 20:57:34 +0200
committerGitHub <noreply@github.com>2022-04-06 20:57:34 +0200
commit4d0fdf2e98be631e90b8320d10d842a042e31c8a (patch)
tree8221e3e892cb5eacda6d4b3ab6623bb4825b78c4 /modules/gdscript/gdscript_disassembler.cpp
parentac591d9904e4e5cf7841b3e79caabf558d37db0e (diff)
parent4710e2b278bfaa60cfcd3158e2d23e8e9a901e1f (diff)
downloadredot-engine-4d0fdf2e98be631e90b8320d10d842a042e31c8a.tar.gz
Merge pull request #59947 from vnen/gdscript-static-methods-classdb
Diffstat (limited to 'modules/gdscript/gdscript_disassembler.cpp')
-rw-r--r--modules/gdscript/gdscript_disassembler.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_disassembler.cpp b/modules/gdscript/gdscript_disassembler.cpp
index cc0be94a9e..e5fbbfa0c1 100644
--- a/modules/gdscript/gdscript_disassembler.cpp
+++ b/modules/gdscript/gdscript_disassembler.cpp
@@ -564,6 +564,28 @@ void GDScriptFunction::disassemble(const Vector<String> &p_code_lines) const {
incr += 5 + argc;
} break;
+ case OPCODE_CALL_NATIVE_STATIC: {
+ MethodBind *method = _methods_ptr[_code_ptr[ip + 1 + instr_var_args]];
+ int argc = _code_ptr[ip + 2 + instr_var_args];
+
+ text += "call native method static ";
+ text += DADDR(1 + argc);
+ text += " = ";
+ text += method->get_instance_class();
+ text += ".";
+ text += method->get_name();
+ text += "(";
+
+ for (int i = 0; i < argc; i++) {
+ if (i > 0) {
+ text += ", ";
+ }
+ text += DADDR(1 + i);
+ }
+ text += ")";
+
+ incr += 4 + argc;
+ } break;
case OPCODE_CALL_PTRCALL_NO_RETURN: {
text += "call-ptrcall (no return) ";