Skip to content

Commit 3768ebc

Browse files
authored
Merge branch 'master' into feature/remove-ref-warn
2 parents 02ebead + d1fde70 commit 3768ebc

File tree

9 files changed

+329
-67
lines changed

9 files changed

+329
-67
lines changed

Gopkg.lock

Lines changed: 186 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
[[constraint]]
1818
name = "gopkg.in/src-d/go-git.v4"
1919
source = "github.com/src-d/go-git"
20-
revision = "2fb32d2a8601213b6db109d3e9028c6b64af1874"
20+
revision = "c2ab4ac47d87f4cd674d19228e24b6696bd1db4d"
2121

2222
[[constraint]]
2323
name = "gopkg.in/src-d/go-git-fixtures.v3"

internal/function/uast.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"os"
88
"strconv"
99
"strings"
10+
"sync"
1011

1112
lru "github.com/hashicorp/golang-lru"
1213
bblfsh "gopkg.in/bblfsh/client-go.v2"
@@ -53,6 +54,7 @@ type uastFunc struct {
5354
XPath sql.Expression
5455

5556
h hash.Hash
57+
m sync.Mutex
5658
}
5759

5860
// IsNullable implements the Expression interface.
@@ -113,11 +115,13 @@ func (u *uastFunc) TransformUp(fn sql.TransformExprFunc) (sql.Expression, error)
113115
}
114116
}
115117

116-
tu := *u
117-
tu.Mode = mode
118-
tu.Blob = blob
119-
tu.Lang = lang
120-
tu.XPath = xpath
118+
tu := uastFunc{
119+
Mode: mode,
120+
Blob: blob,
121+
Lang: lang,
122+
XPath: xpath,
123+
h: sha1.New(),
124+
}
121125

122126
return fn(&tu)
123127
}
@@ -195,7 +199,10 @@ func (u *uastFunc) getUAST(
195199
lang, xpath string,
196200
mode bblfsh.Mode,
197201
) (interface{}, error) {
202+
u.m.Lock()
198203
key, err := computeKey(u.h, mode.String(), lang, blob)
204+
u.m.Unlock()
205+
199206
if err != nil {
200207
return nil, err
201208
}

vendor/gopkg.in/src-d/go-git.v4/plumbing/cache/buffer_lru.go

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gopkg.in/src-d/go-git.v4/plumbing/cache/buffer_test.go

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gopkg.in/src-d/go-git.v4/plumbing/cache/object_lru.go

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gopkg.in/src-d/go-git.v4/plumbing/cache/object_test.go

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gopkg.in/src-d/go-git.v4/storage/filesystem/object.go

Lines changed: 24 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gopkg.in/src-d/go-git.v4/storage/filesystem/object_test.go

Lines changed: 40 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)