Skip to content

Commit 089ef1c

Browse files
committed
Merge branch 'main' of https://github.com/5idg5/codeql into 5idg5-update-cs-stubs
2 parents 7231f53 + a857069 commit 089ef1c

File tree

4 files changed

+11
-18
lines changed

4 files changed

+11
-18
lines changed

go/extractor/extractor.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1582,18 +1582,10 @@ func isAlias(tp types.Type) bool {
15821582
return ok
15831583
}
15841584

1585-
// If the given type is a type alias, this function resolves it to its underlying type.
1586-
func resolveTypeAlias(tp types.Type) types.Type {
1587-
if isAlias(tp) {
1588-
return types.Unalias(tp) // tp.Underlying()
1589-
}
1590-
return tp
1591-
}
1592-
15931585
// extractType extracts type information for `tp` and returns its associated label;
15941586
// types are only extracted once, so the second time `extractType` is invoked it simply returns the label
15951587
func extractType(tw *trap.Writer, tp types.Type) trap.Label {
1596-
tp = resolveTypeAlias(tp)
1588+
tp = types.Unalias(tp)
15971589
lbl, exists := getTypeLabel(tw, tp)
15981590
if !exists {
15991591
var kind int
@@ -1771,7 +1763,7 @@ func extractType(tw *trap.Writer, tp types.Type) trap.Label {
17711763
// is constructed from their globally unique ID. This prevents cyclic type keys
17721764
// since type recursion in Go always goes through defined types.
17731765
func getTypeLabel(tw *trap.Writer, tp types.Type) (trap.Label, bool) {
1774-
tp = resolveTypeAlias(tp)
1766+
tp = types.Unalias(tp)
17751767
lbl, exists := tw.Labeler.TypeLabels[tp]
17761768
if !exists {
17771769
switch tp := tp.(type) {

go/extractor/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ toolchain go1.24.0
1010
// bazel mod tidy
1111
require (
1212
golang.org/x/mod v0.24.0
13-
golang.org/x/tools v0.32.0
13+
golang.org/x/tools v0.33.0
1414
)
1515

16-
require golang.org/x/sync v0.13.0 // indirect
16+
require golang.org/x/sync v0.14.0 // indirect

go/extractor/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
22
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
33
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
44
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
5-
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
6-
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
7-
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
8-
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
5+
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
6+
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
7+
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
8+
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=

go/extractor/trap/labels.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,12 @@ func (l *Labeler) ScopedObjectID(object types.Object, getTypeLabel func() Label)
169169

170170
// findMethodWithGivenReceiver finds a method with `object` as its receiver, if one exists
171171
func findMethodWithGivenReceiver(object types.Object) *types.Func {
172-
meth := findMethodOnTypeWithGivenReceiver(object.Type(), object)
172+
unaliasedType := types.Unalias(object.Type())
173+
meth := findMethodOnTypeWithGivenReceiver(unaliasedType, object)
173174
if meth != nil {
174175
return meth
175176
}
176-
if pointerType, ok := object.Type().(*types.Pointer); ok {
177+
if pointerType, ok := unaliasedType.(*types.Pointer); ok {
177178
meth = findMethodOnTypeWithGivenReceiver(pointerType.Elem(), object)
178179
}
179180
return meth

0 commit comments

Comments
 (0)