Skip to content

Commit 48759e8

Browse files
committed
libscript: Spanify MCScriptExecuteContext::InvokeForeign()
1 parent d5c710c commit 48759e8

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

libscript/src/script-bytecode.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,7 @@ struct MCScriptBytecodeOp_Invoke
331331
ctxt.InvokeForeign(t_resolved_instance,
332332
static_cast<MCScriptForeignHandlerDefinition *>(t_resolved_definition),
333333
t_result_reg,
334-
t_argument_regs,
335-
t_argument_count);
334+
MCMakeSpan(t_argument_regs, t_argument_count));
336335
}
337336
break;
338337

@@ -552,8 +551,7 @@ struct MCScriptBytecodeOp_InvokeIndirect
552551
ctxt.InvokeForeign(t_handler_instance,
553552
static_cast<MCScriptForeignHandlerDefinition *>(t_handler_def),
554553
p_result_reg,
555-
p_argument_regs,
556-
p_argument_count);
554+
MCMakeSpan(p_argument_regs, p_argument_count));
557555
}
558556
break;
559557

libscript/src/script-execute.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,7 @@ void
220220
MCScriptExecuteContext::InvokeForeign(MCScriptInstanceRef p_instance,
221221
MCScriptForeignHandlerDefinition *p_handler_def,
222222
uindex_t p_result_reg,
223-
const uindex_t *p_argument_regs,
224-
uindex_t p_argument_count)
223+
MCSpan<const uindex_t> p_argument_regs)
225224
{
226225
if (m_error)
227226
{
@@ -244,11 +243,11 @@ MCScriptExecuteContext::InvokeForeign(MCScriptInstanceRef p_instance,
244243
p_handler_def);
245244

246245
// Check the parameter count.
247-
if (MCHandlerTypeInfoGetParameterCount(t_signature) != p_argument_count)
246+
if (MCHandlerTypeInfoGetParameterCount(t_signature) != p_argument_regs.size())
248247
{
249248
ThrowWrongNumberOfArguments(p_instance,
250249
p_handler_def,
251-
p_argument_count);
250+
p_argument_regs.size());
252251
return;
253252
}
254253

libscript/src/script-execute.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,7 @@ class MCScriptExecuteContext
145145
void InvokeForeign(MCScriptInstanceRef instance,
146146
MCScriptForeignHandlerDefinition *handler,
147147
uindex_t result_reg,
148-
const uindex_t *argument_regs,
149-
uindex_t argument_count);
148+
MCSpan<const uindex_t> argument_regs);
150149

151150
// Enter the LCB VM to execute the specified handler in the given instance.
152151
void Enter(MCScriptInstanceRef instance,

0 commit comments

Comments
 (0)