File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -564,6 +564,24 @@ pub mut:
564
564
global_labels []string // from `asm { .globl labelname }`
565
565
}
566
566
567
+ [unsafe ]
568
+ pub fn (f &File) free () {
569
+ unsafe {
570
+ f.path.free ()
571
+ f.path_base.free ()
572
+ f.scope.free ()
573
+ f.stmts.free ()
574
+ f.imports.free ()
575
+ f.auto_imports.free ()
576
+ f.embedded_files.free ()
577
+ f.imported_symbols.free ()
578
+ f.errors.free ()
579
+ f.warnings.free ()
580
+ f.notices.free ()
581
+ f.global_labels.free ()
582
+ }
583
+ }
584
+
567
585
pub struct IdentFn {
568
586
pub mut :
569
587
typ Type
Original file line number Diff line number Diff line change @@ -15,6 +15,18 @@ pub mut:
15
15
end_pos int
16
16
}
17
17
18
+ [unsafe ]
19
+ pub fn (s &Scope) free () {
20
+ unsafe {
21
+ s.objects.free ()
22
+ s.struct_fields.free ()
23
+ for child in s.children {
24
+ child.free ()
25
+ }
26
+ s.children.free ()
27
+ }
28
+ }
29
+
18
30
pub fn new_scope (parent & Scope, start_pos int ) & Scope {
19
31
return & Scope{
20
32
parent: parent
Original file line number Diff line number Diff line change @@ -24,6 +24,24 @@ pub mut:
24
24
used_consts map [string ]bool // filled in by the checker, when pref.skip_unused = true;
25
25
}
26
26
27
+ [unsafe ]
28
+ pub fn (t &Table) free () {
29
+ unsafe {
30
+ t.type_symbols.free ()
31
+ t.type_idxs.free ()
32
+ t.fns.free ()
33
+ t.dumps.free ()
34
+ t.imports.free ()
35
+ t.modules.free ()
36
+ t.cflags.free ()
37
+ t.redefined_fns.free ()
38
+ t.fn_generic_types.free ()
39
+ t.cmod_prefix.free ()
40
+ t.used_fns.free ()
41
+ t.used_consts.free ()
42
+ }
43
+ }
44
+
27
45
pub struct Fn {
28
46
pub :
29
47
params []Param
You can’t perform that action at this time.
0 commit comments