(
&mut self,
class: GcRefLock<'gc, Class<'gc>>,
name: InternedString<'gc>,
arg_count: u8,
keyword_args_count: u8,
)
| 1369 | } |
| 1370 | |
| 1371 | fn invoke_from_class( |
| 1372 | &mut self, |
| 1373 | class: GcRefLock<'gc, Class<'gc>>, |
| 1374 | name: InternedString<'gc>, |
| 1375 | arg_count: u8, |
| 1376 | keyword_args_count: u8, |
| 1377 | ) -> Result<(), VmError> { |
| 1378 | match class.borrow().methods.get(&name) { |
| 1379 | Some(Value::Closure(closure)) => self.call(*closure, arg_count, keyword_args_count), |
| 1380 | Some(value) if value.is_native_function() => { |
| 1381 | // class methods can be a native function |
| 1382 | self.call_value(*value, arg_count, keyword_args_count) |
| 1383 | } |
| 1384 | _ => Err(self.runtime_error(format!("Undefined property '{}'.", name).into())), |
| 1385 | } |
| 1386 | } |
| 1387 | |
| 1388 | fn invoke( |
| 1389 | &mut self, |
no test coverage detected