diff --git a/core/src/main/kotlin/tw/xcc/gumtree/matchers/BottomUpMatcher.kt b/core/src/main/kotlin/tw/xcc/gumtree/matchers/BottomUpMatcher.kt index de0014e..ea25d15 100644 --- a/core/src/main/kotlin/tw/xcc/gumtree/matchers/BottomUpMatcher.kt +++ b/core/src/main/kotlin/tw/xcc/gumtree/matchers/BottomUpMatcher.kt @@ -58,6 +58,11 @@ class BottomUpMatcher : TreeMatcher { if ((leftNodes != null && rightNodes != null) && (leftNodes.size == 1 && rightNodes.size == 1)) { val left = leftNodes.single() val right = rightNodes.single() + + if (storage.isLeftMapped(left) || storage.isRightMapped(right)) { + return@forEach + } + storage.addMappingOf( realTreePool.tryExtractRealOf(left to right) )