From 8de4b7c4a9a441b89db68c78c0a8eec843b4ef2c Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Sun, 11 Aug 2024 05:14:28 -0500 Subject: [PATCH] fix namespace visiting --- .../unimined/mapping/tree/LazyMappingTree.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/commonMain/kotlin/xyz/wagyourtail/unimined/mapping/tree/LazyMappingTree.kt b/src/commonMain/kotlin/xyz/wagyourtail/unimined/mapping/tree/LazyMappingTree.kt index c3b3d83..c62a8fe 100644 --- a/src/commonMain/kotlin/xyz/wagyourtail/unimined/mapping/tree/LazyMappingTree.kt +++ b/src/commonMain/kotlin/xyz/wagyourtail/unimined/mapping/tree/LazyMappingTree.kt @@ -14,6 +14,7 @@ import xyz.wagyourtail.unimined.mapping.visitor.* import xyz.wagyourtail.unimined.mapping.visitor.delegate.DelegateClassVisitor import xyz.wagyourtail.unimined.mapping.visitor.delegate.DelegateConstantGroupVisitor import xyz.wagyourtail.unimined.mapping.visitor.delegate.DelegatePackageVisitor +import xyz.wagyourtail.unimined.mapping.visitor.delegate.NamespaceRecordingDelegate /** * for memory limited environments @@ -198,8 +199,10 @@ class LazyMappingTree : AbstractMappingTree() { tree.mergeNs(names.keys) this._names.putAll(names) val delegator = UMFWriter.UMFWriterDelegator(::append, true) - delegator.namespaces = tree.namespaces.toList() - return DelegateClassVisitor(EmptyClassVisitor(), delegator) + return DelegateClassVisitor(DelegateClassVisitor(EmptyClassVisitor(), delegator), NamespaceRecordingDelegate { + tree.mergeNs(it) + delegator.namespaces = tree.namespaces.toList() + }) } fun resolve(): ClassNode { @@ -244,8 +247,10 @@ class LazyMappingTree : AbstractMappingTree() { tree.mergeNs(names.keys) this._names.putAll(names) val delegator = UMFWriter.UMFWriterDelegator(::append, true) - delegator.namespaces = tree.namespaces.toList() - return DelegatePackageVisitor(EmptyPackageVisitor(), delegator) + return DelegatePackageVisitor(DelegatePackageVisitor(EmptyPackageVisitor(), delegator), NamespaceRecordingDelegate { + tree.mergeNs(it) + delegator.namespaces = tree.namespaces.toList() + }) } fun resolve(): PackageNode {