| 1349 | } |
| 1350 | |
| 1351 | void GDScriptByteCodeGenerator::write_call_self(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) { |
| 1352 | append_opcode_and_argcount(p_target.mode == Address::NIL ? GDScriptFunction::OPCODE_CALL : GDScriptFunction::OPCODE_CALL_RETURN, 2 + p_arguments.size()); |
| 1353 | for (int i = 0; i < p_arguments.size(); i++) { |
| 1354 | append(p_arguments[i]); |
| 1355 | } |
| 1356 | append(GDScriptFunction::ADDR_TYPE_STACK << GDScriptFunction::ADDR_BITS); |
| 1357 | CallTarget ct = get_call_target(p_target); |
| 1358 | append(ct.target); |
| 1359 | append(p_arguments.size()); |
| 1360 | append(p_function_name); |
| 1361 | ct.cleanup(); |
| 1362 | } |
| 1363 | |
| 1364 | void GDScriptByteCodeGenerator::write_call_self_async(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) { |
| 1365 | append_opcode_and_argcount(GDScriptFunction::OPCODE_CALL_ASYNC, 2 + p_arguments.size()); |
no test coverage detected