| ... | ... | @@ -4064,9 +4064,19 @@ pub fn deleteUnusedDecl(mod: *Module, decl: *Decl) void { |
| 4064 | 4064 | |
| 4065 | 4065 | pub fn abortAnonDecl(mod: *Module, decl: *Decl) void { |
| 4066 | 4066 | log.debug("abortAnonDecl {*} ({s})", .{ decl, decl.name }); |
| 4067 | | assert(decl.namespace.anon_decls.swapRemove(decl)); |
| 4068 | | assert(decl.dependants.count() == 0); |
| 4069 | | assert(decl.dependencies.count() == 0); |
| 4067 | |
| 4068 | const owner_namespace = if (decl.namespace.getDecl() == decl and decl.namespace.parent != null) decl.namespace.parent.? else decl.namespace; |
| 4069 | assert(owner_namespace.anon_decls.swapRemove(decl)); |
| 4070 | |
| 4071 | const dependants = decl.dependants.keys(); |
| 4072 | for (dependants) |dep| { |
| 4073 | dep.removeDependency(decl); |
| 4074 | } |
| 4075 | |
| 4076 | for (decl.dependencies.keys()) |dep| { |
| 4077 | dep.removeDependant(decl); |
| 4078 | } |
| 4079 | |
| 4070 | 4080 | decl.destroy(mod); |
| 4071 | 4081 | } |
| 4072 | 4082 | |