GDScript: Add support for builtin static method calls

This commit is contained in:
George Marques 2021-05-16 11:48:53 -03:00
parent 6e621441ca
commit ec783dd885
No known key found for this signature in database
GPG key ID: 046BD46A3201E43D
8 changed files with 169 additions and 29 deletions

View file

@ -542,6 +542,28 @@ void GDScriptFunction::disassemble(const Vector<String> &p_code_lines) const {
incr = 5 + argc;
} break;
case OPCODE_CALL_BUILTIN_STATIC: {
Variant::Type type = (Variant::Type)_code_ptr[ip + 1 + instr_var_args];
int argc = _code_ptr[ip + 3 + instr_var_args];
text += "call built-in method static ";
text += DADDR(1 + argc);
text += " = ";
text += Variant::get_type_name(type);
text += ".";
text += _global_names_ptr[_code_ptr[ip + 2 + instr_var_args]].operator String();
text += "(";
for (int i = 0; i < argc; i++) {
if (i > 0) {
text += ", ";
}
text += DADDR(1 + i);
}
text += ")";
incr += 5 + argc;
} break;
case OPCODE_CALL_PTRCALL_NO_RETURN: {
text += "call-ptrcall (no return) ";