This commit is contained in:
gobwas 2016-12-07 10:55:55 +03:00
parent 0354991b92
commit bea32b9cd2
1 changed files with 4 additions and 3 deletions

View File

@ -5,10 +5,11 @@ package compiler
import ( import (
"fmt" "fmt"
"reflect"
"github.com/gobwas/glob/match" "github.com/gobwas/glob/match"
"github.com/gobwas/glob/syntax/ast" "github.com/gobwas/glob/syntax/ast"
"github.com/gobwas/glob/util/runes" "github.com/gobwas/glob/util/runes"
"reflect"
) )
func optimizeMatcher(matcher match.Matcher) match.Matcher { func optimizeMatcher(matcher match.Matcher) match.Matcher {
@ -373,11 +374,11 @@ func commonChildren(nodes []*ast.Node) (commonLeft, commonRight []*ast.Node) {
breakRight bool breakRight bool
commonTotal int commonTotal int
) )
for i, j := 0, treeLength-1; commonTotal < treeLength && j >= 0 && !(breakLeft && breakLeft); i, j = i+1, j-1 { for i, j := 0, treeLength-1; commonTotal < treeLength && j >= 0 && !(breakLeft && breakRight); i, j = i+1, j-1 {
treeLeft := tree.Children[i] treeLeft := tree.Children[i]
treeRight := tree.Children[j] treeRight := tree.Children[j]
for k := 0; k < len(nodes) && !(breakLeft && breakLeft); k++ { for k := 0; k < len(nodes) && !(breakLeft && breakRight); k++ {
// skip least children node // skip least children node
if k == idx { if k == idx {
continue continue