MCPcopy Create free account
hub / github.com/aspizu/goboscript / sprite

Method sprite

src/codegen/sb3.rs:429–685  ·  view source on GitHub ↗
(
        &mut self,
        input: &Path,
        name: &str,
        sprite: &Sprite,
        stage: Option<&Sprite>,
        config: &Config,
        d: D,
        broadcasts: &FxHashSet<SmolStr>,

Source from the content-addressed store, hash-verified

427 }
428
429 pub fn sprite(
430 &mut self,
431 input: &Path,
432 name: &str,
433 sprite: &Sprite,
434 stage: Option<&Sprite>,
435 config: &Config,
436 d: D,
437 broadcasts: &FxHashSet<SmolStr>,
438 ) -> io::Result<()> {
439 for proc in sprite.procs.values() {
440 if !sprite.used_procs.contains(&proc.name) {
441 d.report(DiagnosticKind::UnusedProc(proc.name.clone()), &proc.span);
442 } else {
443 for arg in &proc.args {
444 if !sprite
445 .proc_used_args
446 .get(&proc.name)
447 .unwrap()
448 .contains(&arg.name)
449 {
450 d.report(DiagnosticKind::UnusedArg(arg.name.clone()), &arg.span);
451 }
452 }
453 }
454 }
455 for func in sprite.funcs.values() {
456 if !sprite.used_funcs.contains(&func.name) {
457 d.report(DiagnosticKind::UnusedFunc(func.name.clone()), &func.span);
458 } else {
459 for arg in &func.args {
460 if !sprite
461 .func_used_args
462 .get(&func.name)
463 .unwrap()
464 .contains(&arg.name)
465 {
466 d.report(DiagnosticKind::UnusedArg(arg.name.clone()), &arg.span);
467 }
468 }
469 }
470 }
471 for struct_ in sprite.structs.values() {
472 if !struct_.is_used {
473 d.report(
474 DiagnosticKind::UnusedStruct(struct_.name.clone()),
475 &struct_.span,
476 );
477 }
478 }
479 for enum_ in sprite.enums.values() {
480 if !enum_.is_used {
481 d.report(DiagnosticKind::UnusedEnum(enum_.name.clone()), &enum_.span);
482 }
483 }
484 self.id.reset();
485 write!(self, "{{")?;
486 write!(self, r#""isStage":{}"#, name == STAGE_NAME)?;

Callers 1

projectMethod · 0.80

Calls 12

write_comma_ioFunction · 0.85
reportMethod · 0.80
resetMethod · 0.80
local_var_declarationMethod · 0.80
var_declarationMethod · 0.80
list_declarationMethod · 0.80
procMethod · 0.80
funcMethod · 0.80
eventMethod · 0.80
costumeMethod · 0.80
soundMethod · 0.80
to_stringMethod · 0.45

Tested by

no test coverage detected