diff --git a/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/PrefixTree.java b/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/PrefixTree.java index 153b96c4..f9370317 100644 --- a/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/PrefixTree.java +++ b/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/PrefixTree.java @@ -34,7 +34,7 @@ public class PrefixTree, L extends LookupEntry>{ if (node != null) return node; else if (factory == null) return null; else{ - node = factory.newNode(); + node = factory.newNode(this); children.put(key, node); return node; } @@ -42,7 +42,12 @@ public class PrefixTree, L extends LookupEntry>{ } public static interface NodeFactory>{ - public N newNode(); + /** + * + * @param parent Can be null (root). + * @return + */ + public N newNode(N parent); } public static class LookupEntry>{ @@ -75,7 +80,7 @@ public class PrefixTree, L extends LookupEntry>{ public PrefixTree(NodeFactory nodeFactory, LookupEntryFactory resultFactory){ this.nodeFactory = nodeFactory; - this.root = nodeFactory.newNode(); + this.root = nodeFactory.newNode(null); this.resultFactory = resultFactory; } @@ -118,7 +123,7 @@ public class PrefixTree, L extends LookupEntry>{ } public void clear() { - root = nodeFactory.newNode(); + root = nodeFactory.newNode(null); // TODO: maybe more unlinking ? } @@ -130,7 +135,7 @@ public class PrefixTree, L extends LookupEntry>{ public static PrefixTree, LookupEntry>> newPrefixTree(){ return new PrefixTree, LookupEntry>>(new NodeFactory>(){ @Override - public final Node newNode() { + public final Node newNode(final Node parent) { return new Node(); } }, new LookupEntryFactory, LookupEntry>>() { diff --git a/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/SimplePrefixTree.java b/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/SimplePrefixTree.java index f58293e6..35a6eb60 100644 --- a/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/SimplePrefixTree.java +++ b/src/fr/neatmonster/nocheatplus/checks/chat/analysis/ds/SimplePrefixTree.java @@ -23,7 +23,7 @@ public class SimplePrefixTree extends PrefixTree, SimpleLookupEntr public SimplePrefixTree() { super(new NodeFactory>(){ @Override - public Node newNode() { + public final Node newNode(final Node parent) { return new Node(); } }, new LookupEntryFactory, SimpleLookupEntry>(){