diff --git a/MODULE.bazel b/MODULE.bazel index 0d0052893ee4..5d1778163588 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -248,7 +248,7 @@ use_repo( ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") -go_sdk.download(version = "1.23.1") +go_sdk.download(version = "1.24rc1") go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//go/extractor:go.mod") diff --git a/go/actions/test/action.yml b/go/actions/test/action.yml index 0a4f13fa0efd..80cc3a08d0e2 100644 --- a/go/actions/test/action.yml +++ b/go/actions/test/action.yml @@ -4,7 +4,7 @@ inputs: go-test-version: description: Which Go version to use for running the tests required: false - default: "~1.23.1" + default: "1.24.0-rc.1" run-code-checks: description: Whether to run formatting, code and qhelp generation checks required: false diff --git a/go/extractor/autobuilder/build-environment.go b/go/extractor/autobuilder/build-environment.go index cc3dc62c02dc..e207e5ad0267 100644 --- a/go/extractor/autobuilder/build-environment.go +++ b/go/extractor/autobuilder/build-environment.go @@ -12,7 +12,7 @@ import ( ) var minGoVersion = util.NewSemVer("1.11") -var maxGoVersion = util.NewSemVer("1.23") +var maxGoVersion = util.NewSemVer("1.24") type versionInfo struct { goModVersion util.SemVer // The version of Go found in the go directive in the `go.mod` file. diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index c0eef233ba58..8b52be4553e3 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -475,12 +475,12 @@ func extractObjects(tw *trap.Writer, scope *types.Scope, scopeLabel trap.Label) populateTypeParamParents(funcObj.Type().(*types.Signature).TypeParams(), obj) populateTypeParamParents(funcObj.Type().(*types.Signature).RecvTypeParams(), obj) } - // Populate type parameter parents for named types. Note that we - // skip type aliases as the original type should be the parent - // of any type parameters. - if typeNameObj, ok := obj.(*types.TypeName); ok && !typeNameObj.IsAlias() { + // Populate type parameter parents for named types. + if typeNameObj, ok := obj.(*types.TypeName); ok { if tp, ok := typeNameObj.Type().(*types.Named); ok { populateTypeParamParents(tp.TypeParams(), obj) + } else if tp, ok := typeNameObj.Type().(*types.Alias); ok { + populateTypeParamParents(tp.TypeParams(), obj) } } extractObject(tw, obj, lbl) diff --git a/go/extractor/go.mod b/go/extractor/go.mod index 7870f03987b9..baddc24e1e8b 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -1,8 +1,8 @@ module github.com/github/codeql-go/extractor -go 1.23 +go 1.24 -toolchain go1.23.1 +toolchain go1.24rc1 // when updating this, run // bazel run @rules_go//go -- mod tidy diff --git a/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected b/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected index c1d09ddb080a..950f3ee308c7 100644 --- a/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected +++ b/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected @@ -63,18 +63,61 @@ numberOfTypeParameters | internal/bytealg.HashStrRev | 0 | T | interface { string \| []uint8 } | | internal/bytealg.IndexRabinKarp | 0 | T | interface { string \| []uint8 } | | internal/bytealg.LastIndexRabinKarp | 0 | T | interface { string \| []uint8 } | +| internal/poll.ignoringEINTR2 | 0 | T | interface { } | | internal/runtime/atomic.Pointer.CompareAndSwap | 0 | T | interface { } | | internal/runtime/atomic.Pointer.CompareAndSwapNoWB | 0 | T | interface { } | | internal/runtime/atomic.Pointer.Load | 0 | T | interface { } | | internal/runtime/atomic.Pointer.Store | 0 | T | interface { } | | internal/runtime/atomic.Pointer.StoreNoWB | 0 | T | interface { } | +| internal/sync.HashTrieMap.All | 0 | K | comparable | +| internal/sync.HashTrieMap.All | 1 | V | interface { } | +| internal/sync.HashTrieMap.CompareAndDelete | 0 | K | comparable | +| internal/sync.HashTrieMap.CompareAndDelete | 1 | V | interface { } | +| internal/sync.HashTrieMap.CompareAndSwap | 0 | K | comparable | +| internal/sync.HashTrieMap.CompareAndSwap | 1 | V | interface { } | +| internal/sync.HashTrieMap.Delete | 0 | K | comparable | +| internal/sync.HashTrieMap.Load | 0 | K | comparable | +| internal/sync.HashTrieMap.Load | 1 | V | interface { } | +| internal/sync.HashTrieMap.LoadAndDelete | 0 | K | comparable | +| internal/sync.HashTrieMap.LoadAndDelete | 1 | V | interface { } | +| internal/sync.HashTrieMap.LoadOrStore | 0 | K | comparable | +| internal/sync.HashTrieMap.LoadOrStore | 1 | V | interface { } | +| internal/sync.HashTrieMap.Range | 0 | K | comparable | +| internal/sync.HashTrieMap.Range | 1 | V | interface { } | +| internal/sync.HashTrieMap.Store | 0 | K | comparable | +| internal/sync.HashTrieMap.Store | 1 | V | interface { } | +| internal/sync.HashTrieMap.Swap | 0 | K | comparable | +| internal/sync.HashTrieMap.Swap | 1 | V | interface { } | +| internal/sync.HashTrieMap.find | 0 | K | comparable | +| internal/sync.HashTrieMap.find | 1 | V | interface { } | +| internal/sync.HashTrieMap.iter | 0 | K | comparable | +| internal/sync.HashTrieMap.iter | 1 | V | interface { } | +| internal/sync.entry | 0 | K | comparable | +| internal/sync.entry.compareAndDelete | 0 | K | comparable | +| internal/sync.entry.compareAndDelete | 1 | V | interface { } | +| internal/sync.entry.compareAndSwap | 0 | K | comparable | +| internal/sync.entry.compareAndSwap | 1 | V | interface { } | +| internal/sync.entry.loadAndDelete | 0 | K | comparable | +| internal/sync.entry.loadAndDelete | 1 | V | interface { } | +| internal/sync.entry.lookup | 0 | K | comparable | +| internal/sync.entry.lookup | 1 | V | interface { } | +| internal/sync.entry.lookupWithValue | 0 | K | comparable | +| internal/sync.entry.lookupWithValue | 1 | V | interface { } | +| internal/sync.entry.swap | 0 | K | comparable | +| internal/sync.entry.swap | 1 | V | interface { } | +| internal/sync.newEntryNode | 0 | K | comparable | +| internal/sync.newEntryNode | 1 | V | interface { } | | iter.Pull | 0 | V | interface { } | | iter.Pull2 | 0 | K | interface { } | | iter.Pull2 | 1 | V | interface { } | | iter.Seq | 0 | V | interface { } | | iter.Seq2 | 0 | K | interface { } | | iter.Seq2 | 1 | V | interface { } | +| os.doInRoot | 0 | T | interface { } | +| os.ignoringEINTR2 | 0 | T | interface { } | | reflect.rangeNum | 1 | N | interface { int64 \| uint64 } | +| runtime.AddCleanup | 0 | T | interface { } | +| runtime.AddCleanup | 1 | S | interface { } | | runtime.fandbits | 0 | F | floaty | | runtime.fmax | 0 | F | floaty | | runtime.fmin | 0 | F | floaty | diff --git a/go/ql/test/library-tests/semmle/go/Types/Aliases.expected b/go/ql/test/library-tests/semmle/go/Types/Aliases.expected index 2c09dd790a56..b38d6258e1de 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Aliases.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Aliases.expected @@ -14,6 +14,14 @@ entities | aliases.go | aliases.go:22:6:22:6 | T | 1 | aliases.go:19:6:19:7 | S3 | | aliases.go | aliases.go:25:6:25:6 | H | 1 | file://:0:0:0:0 | signature type | | aliases.go | aliases.go:25:8:25:11 | Afs3 | 1 | aliases.go:19:6:19:7 | S3 | +| aliases.go | aliases.go:29:6:29:11 | MyType | 1 | aliases.go:29:6:29:11 | MyType | +| aliases.go | aliases.go:29:13:29:19 | MyTypeT | 1 | file://:0:0:0:0 | type parameter type | +| aliases.go | aliases.go:29:34:29:34 | x | 1 | file://:0:0:0:0 | type parameter type | +| aliases.go | aliases.go:32:6:32:16 | MyTypeAlias | 1 | aliases.go:29:6:29:11 | MyType | +| aliases.go | aliases.go:32:18:32:29 | MyTypeAliasT | 1 | file://:0:0:0:0 | type parameter type | +| aliases.go | aliases.go:34:6:34:19 | useMyTypeAlias | 1 | file://:0:0:0:0 | signature type | +| aliases.go | aliases.go:34:21:34:21 | a | 1 | aliases.go:29:6:29:11 | MyType | +| aliases.go | aliases.go:35:2:35:2 | b | 1 | aliases.go:29:6:29:11 | MyType | #select | F | func(struct { x int }) int | | G | func(struct { x int }) int | diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected b/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected index 8a527e3d4f73..2d226e2216f4 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_getPackage.expected @@ -1,59 +1,60 @@ -| aliases.go:6:26:6:26 | x | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| aliases.go:8:26:8:26 | x | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| aliases.go:19:17:19:17 | x | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| cyclic.go:4:3:4:3 | s | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| cyclic.go:8:3:8:3 | u | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| cyclic.go:9:2:9:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| cyclic.go:13:2:13:2 | t | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| cyclic.go:17:2:17:2 | s | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| depth.go:6:2:6:2 | b | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| depth.go:7:2:7:2 | c | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| depth.go:11:2:11:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| depth.go:15:2:15:2 | d | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| depth.go:19:2:19:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| embedded.go:4:2:4:2 | A | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| embedded.go:8:3:8:5 | Baz | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| embedded.go:12:2:12:4 | Qux | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| embedded.go:13:2:13:4 | Baz | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:4:2:4:11 | valueField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:5:2:5:13 | pointerField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:6:2:6:11 | arrayField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:7:2:7:11 | sliceField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:8:2:8:9 | mapField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:12:2:12:13 | pointerField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:16:2:16:5 | root | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:20:2:20:12 | structField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:21:2:21:9 | mapField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:25:2:25:12 | structField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| generic.go:29:2:29:13 | pointerField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| main.go:18:7:18:15 | NameClash | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| pkg1/embedding.go:19:23:19:26 | base | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/embedding.go:22:27:22:30 | base | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/embedding.go:25:24:25:31 | embedder | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/embedding.go:28:24:28:31 | embedder | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/embedding.go:36:2:36:5 | base | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/embedding.go:37:2:37:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/promotedStructs.go:5:2:5:7 | SField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/promotedStructs.go:14:2:14:7 | PField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/promotedStructs.go:22:22:22:22 | S | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/promotedStructs.go:25:22:25:22 | P | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:6:2:6:2 | f | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:7:2:7:4 | Foo | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:8:2:8:4 | Bar | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:12:2:12:4 | Foo | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:13:2:13:4 | Bar | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:17:3:17:5 | Foo | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:18:3:18:5 | Bar | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:22:3:22:5 | Foo | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:23:2:23:4 | Bar | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:27:2:27:4 | val | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:28:2:28:5 | flag | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:32:2:32:5 | flag | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg1/tst.go:62:7:62:15 | NameClash | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | -| pkg2/tst.go:4:2:4:2 | g | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | -| pkg2/tst.go:8:2:8:2 | g | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | -| pkg2/tst.go:17:2:17:8 | NCField | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | -| struct_tags.go:4:2:4:7 | field1 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| struct_tags.go:5:2:5:7 | field2 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| struct_tags.go:9:2:9:7 | field1 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | -| struct_tags.go:10:2:10:7 | field2 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | +| aliases.go:6:26:6:26 | x | package codeql-go-types | +| aliases.go:8:26:8:26 | x | package codeql-go-types | +| aliases.go:19:17:19:17 | x | package codeql-go-types | +| aliases.go:29:34:29:34 | x | package codeql-go-types | +| cyclic.go:4:3:4:3 | s | package codeql-go-types | +| cyclic.go:8:3:8:3 | u | package codeql-go-types | +| cyclic.go:9:2:9:2 | f | package codeql-go-types | +| cyclic.go:13:2:13:2 | t | package codeql-go-types | +| cyclic.go:17:2:17:2 | s | package codeql-go-types | +| depth.go:6:2:6:2 | b | package codeql-go-types | +| depth.go:7:2:7:2 | c | package codeql-go-types | +| depth.go:11:2:11:2 | f | package codeql-go-types | +| depth.go:15:2:15:2 | d | package codeql-go-types | +| depth.go:19:2:19:2 | f | package codeql-go-types | +| embedded.go:4:2:4:2 | A | package codeql-go-types | +| embedded.go:8:3:8:5 | Baz | package codeql-go-types | +| embedded.go:12:2:12:4 | Qux | package codeql-go-types | +| embedded.go:13:2:13:4 | Baz | package codeql-go-types | +| generic.go:4:2:4:11 | valueField | package codeql-go-types | +| generic.go:5:2:5:13 | pointerField | package codeql-go-types | +| generic.go:6:2:6:11 | arrayField | package codeql-go-types | +| generic.go:7:2:7:11 | sliceField | package codeql-go-types | +| generic.go:8:2:8:9 | mapField | package codeql-go-types | +| generic.go:12:2:12:13 | pointerField | package codeql-go-types | +| generic.go:16:2:16:5 | root | package codeql-go-types | +| generic.go:20:2:20:12 | structField | package codeql-go-types | +| generic.go:21:2:21:9 | mapField | package codeql-go-types | +| generic.go:25:2:25:12 | structField | package codeql-go-types | +| generic.go:29:2:29:13 | pointerField | package codeql-go-types | +| main.go:18:7:18:15 | NameClash | package codeql-go-types | +| pkg1/embedding.go:19:23:19:26 | base | package codeql-go-types/pkg1 | +| pkg1/embedding.go:22:27:22:30 | base | package codeql-go-types/pkg1 | +| pkg1/embedding.go:25:24:25:31 | embedder | package codeql-go-types/pkg1 | +| pkg1/embedding.go:28:24:28:31 | embedder | package codeql-go-types/pkg1 | +| pkg1/embedding.go:36:2:36:5 | base | package codeql-go-types/pkg1 | +| pkg1/embedding.go:37:2:37:2 | f | package codeql-go-types/pkg1 | +| pkg1/promotedStructs.go:5:2:5:7 | SField | package codeql-go-types/pkg1 | +| pkg1/promotedStructs.go:14:2:14:7 | PField | package codeql-go-types/pkg1 | +| pkg1/promotedStructs.go:22:22:22:22 | S | package codeql-go-types/pkg1 | +| pkg1/promotedStructs.go:25:22:25:22 | P | package codeql-go-types/pkg1 | +| pkg1/tst.go:6:2:6:2 | f | package codeql-go-types/pkg1 | +| pkg1/tst.go:7:2:7:4 | Foo | package codeql-go-types/pkg1 | +| pkg1/tst.go:8:2:8:4 | Bar | package codeql-go-types/pkg1 | +| pkg1/tst.go:12:2:12:4 | Foo | package codeql-go-types/pkg1 | +| pkg1/tst.go:13:2:13:4 | Bar | package codeql-go-types/pkg1 | +| pkg1/tst.go:17:3:17:5 | Foo | package codeql-go-types/pkg1 | +| pkg1/tst.go:18:3:18:5 | Bar | package codeql-go-types/pkg1 | +| pkg1/tst.go:22:3:22:5 | Foo | package codeql-go-types/pkg1 | +| pkg1/tst.go:23:2:23:4 | Bar | package codeql-go-types/pkg1 | +| pkg1/tst.go:27:2:27:4 | val | package codeql-go-types/pkg1 | +| pkg1/tst.go:28:2:28:5 | flag | package codeql-go-types/pkg1 | +| pkg1/tst.go:32:2:32:5 | flag | package codeql-go-types/pkg1 | +| pkg1/tst.go:62:7:62:15 | NameClash | package codeql-go-types/pkg1 | +| pkg2/tst.go:4:2:4:2 | g | package codeql-go-types/pkg2 | +| pkg2/tst.go:8:2:8:2 | g | package codeql-go-types/pkg2 | +| pkg2/tst.go:17:2:17:8 | NCField | package codeql-go-types/pkg2 | +| struct_tags.go:4:2:4:7 | field1 | package codeql-go-types | +| struct_tags.go:5:2:5:7 | field2 | package codeql-go-types | +| struct_tags.go:9:2:9:7 | field1 | package codeql-go-types | +| struct_tags.go:10:2:10:7 | field2 | package codeql-go-types | diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected index e7ffe6bc1ba6..30227ae30b6e 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName2.expected @@ -1,82 +1,83 @@ -| aliases.go:6:26:6:26 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S3 | x | -| aliases.go:8:26:8:26 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S3 | x | -| aliases.go:19:17:19:17 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S3 | x | -| cyclic.go:4:3:4:3 | s | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.s | s | -| cyclic.go:8:3:8:3 | u | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.t | u | -| cyclic.go:8:3:8:3 | u | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.u | u | -| cyclic.go:9:2:9:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.t | f | -| cyclic.go:9:2:9:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.u | f | -| cyclic.go:13:2:13:2 | t | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.t | t | -| cyclic.go:13:2:13:2 | t | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.u | t | -| cyclic.go:17:2:17:2 | s | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.v | s | -| depth.go:6:2:6:2 | b | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.a | b | -| depth.go:7:2:7:2 | c | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.a | c | -| depth.go:11:2:11:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.a | f | -| depth.go:11:2:11:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.b | f | -| depth.go:15:2:15:2 | d | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.a | d | -| depth.go:15:2:15:2 | d | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.c | d | -| depth.go:19:2:19:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.c | f | -| depth.go:19:2:19:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.d | f | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.Baz | A | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsBaz | A | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.Qux | A | -| embedded.go:8:3:8:5 | Baz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.Qux | Baz | -| embedded.go:12:2:12:4 | Qux | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsBaz | Qux | -| embedded.go:13:2:13:4 | Baz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsBaz | Baz | -| generic.go:4:2:4:11 | valueField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | valueField | -| generic.go:5:2:5:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | pointerField | -| generic.go:6:2:6:11 | arrayField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | arrayField | -| generic.go:7:2:7:11 | sliceField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | sliceField | -| generic.go:8:2:8:9 | mapField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | mapField | -| generic.go:12:2:12:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.CircularGenericStruct1 | pointerField | -| generic.go:16:2:16:5 | root | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.UsesCircularGenericStruct1 | root | -| generic.go:20:2:20:12 | structField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct2 | structField | -| generic.go:21:2:21:9 | mapField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct2 | mapField | -| generic.go:25:2:25:12 | structField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct2b | structField | -| generic.go:29:2:29:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.CircularGenericStruct2 | pointerField | -| main.go:18:7:18:15 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsNameClash | NameClash | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder | base | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | base | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | base | -| pkg1/embedding.go:22:27:22:30 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.ptrembedder | base | -| pkg1/embedding.go:25:24:25:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | embedder | -| pkg1/embedding.go:25:24:25:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | embedder | -| pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | embedder | -| pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | embedder | -| pkg1/embedding.go:36:2:36:5 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | base | -| pkg1/embedding.go:37:2:37:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | f | -| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | SField | -| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | SField | -| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | PField | -| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | PField | -| pkg1/promotedStructs.go:22:22:22:22 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | S | -| pkg1/promotedStructs.go:25:22:25:22 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | P | -| pkg1/tst.go:6:2:6:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | f | -| pkg1/tst.go:7:2:7:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | Foo | -| pkg1/tst.go:8:2:8:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | Bar | -| pkg1/tst.go:12:2:12:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T2 | Foo | -| pkg1/tst.go:13:2:13:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T2 | Bar | -| pkg1/tst.go:17:3:17:5 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | Foo | -| pkg1/tst.go:18:3:18:5 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | Bar | -| pkg1/tst.go:22:3:22:5 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | Foo | -| pkg1/tst.go:23:2:23:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | Bar | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | val | -| pkg1/tst.go:28:2:28:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | flag | -| pkg1/tst.go:28:2:28:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | flag | -| pkg1/tst.go:32:2:32:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Bar | flag | -| pkg1/tst.go:32:2:32:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T2 | flag | -| pkg1/tst.go:62:7:62:15 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.NameClash | NameClash | -| pkg2/tst.go:4:2:4:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.G | g | -| pkg2/tst.go:4:2:4:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.T | g | -| pkg2/tst.go:8:2:8:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.G | g | -| pkg2/tst.go:8:2:8:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.T | g | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsNameClash | NCField | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.NameClash | NCField | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.NameClash | NCField | -| struct_tags.go:4:2:4:7 | field1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S1 | field1 | -| struct_tags.go:5:2:5:7 | field2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S1 | field2 | -| struct_tags.go:9:2:9:7 | field1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S2 | field1 | -| struct_tags.go:10:2:10:7 | field2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S2 | field2 | +| aliases.go:6:26:6:26 | x | codeql-go-types.S3 | x | +| aliases.go:8:26:8:26 | x | codeql-go-types.S3 | x | +| aliases.go:19:17:19:17 | x | codeql-go-types.S3 | x | +| aliases.go:29:34:29:34 | x | codeql-go-types.MyType | x | +| cyclic.go:4:3:4:3 | s | codeql-go-types.s | s | +| cyclic.go:8:3:8:3 | u | codeql-go-types.t | u | +| cyclic.go:8:3:8:3 | u | codeql-go-types.u | u | +| cyclic.go:9:2:9:2 | f | codeql-go-types.t | f | +| cyclic.go:9:2:9:2 | f | codeql-go-types.u | f | +| cyclic.go:13:2:13:2 | t | codeql-go-types.t | t | +| cyclic.go:13:2:13:2 | t | codeql-go-types.u | t | +| cyclic.go:17:2:17:2 | s | codeql-go-types.v | s | +| depth.go:6:2:6:2 | b | codeql-go-types.a | b | +| depth.go:7:2:7:2 | c | codeql-go-types.a | c | +| depth.go:11:2:11:2 | f | codeql-go-types.a | f | +| depth.go:11:2:11:2 | f | codeql-go-types.b | f | +| depth.go:15:2:15:2 | d | codeql-go-types.a | d | +| depth.go:15:2:15:2 | d | codeql-go-types.c | d | +| depth.go:19:2:19:2 | f | codeql-go-types.c | f | +| depth.go:19:2:19:2 | f | codeql-go-types.d | f | +| embedded.go:4:2:4:2 | A | codeql-go-types.Baz | A | +| embedded.go:4:2:4:2 | A | codeql-go-types.EmbedsBaz | A | +| embedded.go:4:2:4:2 | A | codeql-go-types.Qux | A | +| embedded.go:8:3:8:5 | Baz | codeql-go-types.Qux | Baz | +| embedded.go:12:2:12:4 | Qux | codeql-go-types.EmbedsBaz | Qux | +| embedded.go:13:2:13:4 | Baz | codeql-go-types.EmbedsBaz | Baz | +| generic.go:4:2:4:11 | valueField | codeql-go-types.GenericStruct1 | valueField | +| generic.go:5:2:5:13 | pointerField | codeql-go-types.GenericStruct1 | pointerField | +| generic.go:6:2:6:11 | arrayField | codeql-go-types.GenericStruct1 | arrayField | +| generic.go:7:2:7:11 | sliceField | codeql-go-types.GenericStruct1 | sliceField | +| generic.go:8:2:8:9 | mapField | codeql-go-types.GenericStruct1 | mapField | +| generic.go:12:2:12:13 | pointerField | codeql-go-types.CircularGenericStruct1 | pointerField | +| generic.go:16:2:16:5 | root | codeql-go-types.UsesCircularGenericStruct1 | root | +| generic.go:20:2:20:12 | structField | codeql-go-types.GenericStruct2 | structField | +| generic.go:21:2:21:9 | mapField | codeql-go-types.GenericStruct2 | mapField | +| generic.go:25:2:25:12 | structField | codeql-go-types.GenericStruct2b | structField | +| generic.go:29:2:29:13 | pointerField | codeql-go-types.CircularGenericStruct2 | pointerField | +| main.go:18:7:18:15 | NameClash | codeql-go-types.EmbedsNameClash | NameClash | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1.embedder | base | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1.embedder2 | base | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1.embedder3 | base | +| pkg1/embedding.go:22:27:22:30 | base | codeql-go-types/pkg1.ptrembedder | base | +| pkg1/embedding.go:25:24:25:31 | embedder | codeql-go-types/pkg1.embedder2 | embedder | +| pkg1/embedding.go:25:24:25:31 | embedder | codeql-go-types/pkg1.embedder3 | embedder | +| pkg1/embedding.go:28:24:28:31 | embedder | codeql-go-types/pkg1.embedder2 | embedder | +| pkg1/embedding.go:28:24:28:31 | embedder | codeql-go-types/pkg1.embedder3 | embedder | +| pkg1/embedding.go:36:2:36:5 | base | codeql-go-types/pkg1.embedder4 | base | +| pkg1/embedding.go:37:2:37:2 | f | codeql-go-types/pkg1.embedder4 | f | +| pkg1/promotedStructs.go:5:2:5:7 | SField | codeql-go-types/pkg1.S | SField | +| pkg1/promotedStructs.go:5:2:5:7 | SField | codeql-go-types/pkg1.SEmbedS | SField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | codeql-go-types/pkg1.P | PField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | codeql-go-types/pkg1.SEmbedP | PField | +| pkg1/promotedStructs.go:22:22:22:22 | S | codeql-go-types/pkg1.SEmbedS | S | +| pkg1/promotedStructs.go:25:22:25:22 | P | codeql-go-types/pkg1.SEmbedP | P | +| pkg1/tst.go:6:2:6:2 | f | codeql-go-types/pkg1.T | f | +| pkg1/tst.go:7:2:7:4 | Foo | codeql-go-types/pkg1.T | Foo | +| pkg1/tst.go:8:2:8:4 | Bar | codeql-go-types/pkg1.T | Bar | +| pkg1/tst.go:12:2:12:4 | Foo | codeql-go-types/pkg1.T2 | Foo | +| pkg1/tst.go:13:2:13:4 | Bar | codeql-go-types/pkg1.T2 | Bar | +| pkg1/tst.go:17:3:17:5 | Foo | codeql-go-types/pkg1.T3 | Foo | +| pkg1/tst.go:18:3:18:5 | Bar | codeql-go-types/pkg1.T3 | Bar | +| pkg1/tst.go:22:3:22:5 | Foo | codeql-go-types/pkg1.T4 | Foo | +| pkg1/tst.go:23:2:23:4 | Bar | codeql-go-types/pkg1.T4 | Bar | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1.Foo | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1.T | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1.T3 | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1.T4 | val | +| pkg1/tst.go:28:2:28:5 | flag | codeql-go-types/pkg1.Foo | flag | +| pkg1/tst.go:28:2:28:5 | flag | codeql-go-types/pkg1.T4 | flag | +| pkg1/tst.go:32:2:32:5 | flag | codeql-go-types/pkg1.Bar | flag | +| pkg1/tst.go:32:2:32:5 | flag | codeql-go-types/pkg1.T2 | flag | +| pkg1/tst.go:62:7:62:15 | NameClash | codeql-go-types/pkg1.NameClash | NameClash | +| pkg2/tst.go:4:2:4:2 | g | codeql-go-types/pkg2.G | g | +| pkg2/tst.go:4:2:4:2 | g | codeql-go-types/pkg2.T | g | +| pkg2/tst.go:8:2:8:2 | g | codeql-go-types/pkg2.G | g | +| pkg2/tst.go:8:2:8:2 | g | codeql-go-types/pkg2.T | g | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types.EmbedsNameClash | NCField | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types/pkg1.NameClash | NCField | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types/pkg2.NameClash | NCField | +| struct_tags.go:4:2:4:7 | field1 | codeql-go-types.S1 | field1 | +| struct_tags.go:5:2:5:7 | field2 | codeql-go-types.S1 | field2 | +| struct_tags.go:9:2:9:7 | field1 | codeql-go-types.S2 | field1 | +| struct_tags.go:10:2:10:7 | field2 | codeql-go-types.S2 | field2 | diff --git a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected index 03b93b37c747..4533c9c0d7e5 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Field_hasQualifiedName3.expected @@ -1,82 +1,83 @@ -| aliases.go:6:26:6:26 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S3 | x | -| aliases.go:8:26:8:26 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S3 | x | -| aliases.go:19:17:19:17 | x | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S3 | x | -| cyclic.go:4:3:4:3 | s | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | s | s | -| cyclic.go:8:3:8:3 | u | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | t | u | -| cyclic.go:8:3:8:3 | u | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | u | u | -| cyclic.go:9:2:9:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | t | f | -| cyclic.go:9:2:9:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | u | f | -| cyclic.go:13:2:13:2 | t | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | t | t | -| cyclic.go:13:2:13:2 | t | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | u | t | -| cyclic.go:17:2:17:2 | s | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | v | s | -| depth.go:6:2:6:2 | b | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | a | b | -| depth.go:7:2:7:2 | c | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | a | c | -| depth.go:11:2:11:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | a | f | -| depth.go:11:2:11:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | b | f | -| depth.go:15:2:15:2 | d | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | a | d | -| depth.go:15:2:15:2 | d | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | c | d | -| depth.go:19:2:19:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | c | f | -| depth.go:19:2:19:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | d | f | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | Baz | A | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsBaz | A | -| embedded.go:4:2:4:2 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | Qux | A | -| embedded.go:8:3:8:5 | Baz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | Qux | Baz | -| embedded.go:12:2:12:4 | Qux | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsBaz | Qux | -| embedded.go:13:2:13:4 | Baz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsBaz | Baz | -| generic.go:4:2:4:11 | valueField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct1 | valueField | -| generic.go:5:2:5:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct1 | pointerField | -| generic.go:6:2:6:11 | arrayField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct1 | arrayField | -| generic.go:7:2:7:11 | sliceField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct1 | sliceField | -| generic.go:8:2:8:9 | mapField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct1 | mapField | -| generic.go:12:2:12:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | CircularGenericStruct1 | pointerField | -| generic.go:16:2:16:5 | root | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | UsesCircularGenericStruct1 | root | -| generic.go:20:2:20:12 | structField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct2 | structField | -| generic.go:21:2:21:9 | mapField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct2 | mapField | -| generic.go:25:2:25:12 | structField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericStruct2b | structField | -| generic.go:29:2:29:13 | pointerField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | CircularGenericStruct2 | pointerField | -| main.go:18:7:18:15 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsNameClash | NameClash | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder | base | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder2 | base | -| pkg1/embedding.go:19:23:19:26 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | base | -| pkg1/embedding.go:22:27:22:30 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | ptrembedder | base | -| pkg1/embedding.go:25:24:25:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder2 | embedder | -| pkg1/embedding.go:25:24:25:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | embedder | -| pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder2 | embedder | -| pkg1/embedding.go:28:24:28:31 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | embedder | -| pkg1/embedding.go:36:2:36:5 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder4 | base | -| pkg1/embedding.go:37:2:37:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder4 | f | -| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | S | SField | -| pkg1/promotedStructs.go:5:2:5:7 | SField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | SField | -| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | P | PField | -| pkg1/promotedStructs.go:14:2:14:7 | PField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | PField | -| pkg1/promotedStructs.go:22:22:22:22 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | S | -| pkg1/promotedStructs.go:25:22:25:22 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | P | -| pkg1/tst.go:6:2:6:2 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | f | -| pkg1/tst.go:7:2:7:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | Foo | -| pkg1/tst.go:8:2:8:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | Bar | -| pkg1/tst.go:12:2:12:4 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T2 | Foo | -| pkg1/tst.go:13:2:13:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T2 | Bar | -| pkg1/tst.go:17:3:17:5 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | Foo | -| pkg1/tst.go:18:3:18:5 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | Bar | -| pkg1/tst.go:22:3:22:5 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T4 | Foo | -| pkg1/tst.go:23:2:23:4 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T4 | Bar | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Foo | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | val | -| pkg1/tst.go:27:2:27:4 | val | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T4 | val | -| pkg1/tst.go:28:2:28:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Foo | flag | -| pkg1/tst.go:28:2:28:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T4 | flag | -| pkg1/tst.go:32:2:32:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Bar | flag | -| pkg1/tst.go:32:2:32:5 | flag | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T2 | flag | -| pkg1/tst.go:62:7:62:15 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | NameClash | NameClash | -| pkg2/tst.go:4:2:4:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | G | g | -| pkg2/tst.go:4:2:4:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | T | g | -| pkg2/tst.go:8:2:8:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | G | g | -| pkg2/tst.go:8:2:8:2 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | T | g | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsNameClash | NCField | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | NameClash | NCField | -| pkg2/tst.go:17:2:17:8 | NCField | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | NameClash | NCField | -| struct_tags.go:4:2:4:7 | field1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S1 | field1 | -| struct_tags.go:5:2:5:7 | field2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S1 | field2 | -| struct_tags.go:9:2:9:7 | field1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S2 | field1 | -| struct_tags.go:10:2:10:7 | field2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | S2 | field2 | +| aliases.go:6:26:6:26 | x | codeql-go-types | S3 | x | +| aliases.go:8:26:8:26 | x | codeql-go-types | S3 | x | +| aliases.go:19:17:19:17 | x | codeql-go-types | S3 | x | +| aliases.go:29:34:29:34 | x | codeql-go-types | MyType | x | +| cyclic.go:4:3:4:3 | s | codeql-go-types | s | s | +| cyclic.go:8:3:8:3 | u | codeql-go-types | t | u | +| cyclic.go:8:3:8:3 | u | codeql-go-types | u | u | +| cyclic.go:9:2:9:2 | f | codeql-go-types | t | f | +| cyclic.go:9:2:9:2 | f | codeql-go-types | u | f | +| cyclic.go:13:2:13:2 | t | codeql-go-types | t | t | +| cyclic.go:13:2:13:2 | t | codeql-go-types | u | t | +| cyclic.go:17:2:17:2 | s | codeql-go-types | v | s | +| depth.go:6:2:6:2 | b | codeql-go-types | a | b | +| depth.go:7:2:7:2 | c | codeql-go-types | a | c | +| depth.go:11:2:11:2 | f | codeql-go-types | a | f | +| depth.go:11:2:11:2 | f | codeql-go-types | b | f | +| depth.go:15:2:15:2 | d | codeql-go-types | a | d | +| depth.go:15:2:15:2 | d | codeql-go-types | c | d | +| depth.go:19:2:19:2 | f | codeql-go-types | c | f | +| depth.go:19:2:19:2 | f | codeql-go-types | d | f | +| embedded.go:4:2:4:2 | A | codeql-go-types | Baz | A | +| embedded.go:4:2:4:2 | A | codeql-go-types | EmbedsBaz | A | +| embedded.go:4:2:4:2 | A | codeql-go-types | Qux | A | +| embedded.go:8:3:8:5 | Baz | codeql-go-types | Qux | Baz | +| embedded.go:12:2:12:4 | Qux | codeql-go-types | EmbedsBaz | Qux | +| embedded.go:13:2:13:4 | Baz | codeql-go-types | EmbedsBaz | Baz | +| generic.go:4:2:4:11 | valueField | codeql-go-types | GenericStruct1 | valueField | +| generic.go:5:2:5:13 | pointerField | codeql-go-types | GenericStruct1 | pointerField | +| generic.go:6:2:6:11 | arrayField | codeql-go-types | GenericStruct1 | arrayField | +| generic.go:7:2:7:11 | sliceField | codeql-go-types | GenericStruct1 | sliceField | +| generic.go:8:2:8:9 | mapField | codeql-go-types | GenericStruct1 | mapField | +| generic.go:12:2:12:13 | pointerField | codeql-go-types | CircularGenericStruct1 | pointerField | +| generic.go:16:2:16:5 | root | codeql-go-types | UsesCircularGenericStruct1 | root | +| generic.go:20:2:20:12 | structField | codeql-go-types | GenericStruct2 | structField | +| generic.go:21:2:21:9 | mapField | codeql-go-types | GenericStruct2 | mapField | +| generic.go:25:2:25:12 | structField | codeql-go-types | GenericStruct2b | structField | +| generic.go:29:2:29:13 | pointerField | codeql-go-types | CircularGenericStruct2 | pointerField | +| main.go:18:7:18:15 | NameClash | codeql-go-types | EmbedsNameClash | NameClash | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1 | embedder | base | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1 | embedder2 | base | +| pkg1/embedding.go:19:23:19:26 | base | codeql-go-types/pkg1 | embedder3 | base | +| pkg1/embedding.go:22:27:22:30 | base | codeql-go-types/pkg1 | ptrembedder | base | +| pkg1/embedding.go:25:24:25:31 | embedder | codeql-go-types/pkg1 | embedder2 | embedder | +| pkg1/embedding.go:25:24:25:31 | embedder | codeql-go-types/pkg1 | embedder3 | embedder | +| pkg1/embedding.go:28:24:28:31 | embedder | codeql-go-types/pkg1 | embedder2 | embedder | +| pkg1/embedding.go:28:24:28:31 | embedder | codeql-go-types/pkg1 | embedder3 | embedder | +| pkg1/embedding.go:36:2:36:5 | base | codeql-go-types/pkg1 | embedder4 | base | +| pkg1/embedding.go:37:2:37:2 | f | codeql-go-types/pkg1 | embedder4 | f | +| pkg1/promotedStructs.go:5:2:5:7 | SField | codeql-go-types/pkg1 | S | SField | +| pkg1/promotedStructs.go:5:2:5:7 | SField | codeql-go-types/pkg1 | SEmbedS | SField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | codeql-go-types/pkg1 | P | PField | +| pkg1/promotedStructs.go:14:2:14:7 | PField | codeql-go-types/pkg1 | SEmbedP | PField | +| pkg1/promotedStructs.go:22:22:22:22 | S | codeql-go-types/pkg1 | SEmbedS | S | +| pkg1/promotedStructs.go:25:22:25:22 | P | codeql-go-types/pkg1 | SEmbedP | P | +| pkg1/tst.go:6:2:6:2 | f | codeql-go-types/pkg1 | T | f | +| pkg1/tst.go:7:2:7:4 | Foo | codeql-go-types/pkg1 | T | Foo | +| pkg1/tst.go:8:2:8:4 | Bar | codeql-go-types/pkg1 | T | Bar | +| pkg1/tst.go:12:2:12:4 | Foo | codeql-go-types/pkg1 | T2 | Foo | +| pkg1/tst.go:13:2:13:4 | Bar | codeql-go-types/pkg1 | T2 | Bar | +| pkg1/tst.go:17:3:17:5 | Foo | codeql-go-types/pkg1 | T3 | Foo | +| pkg1/tst.go:18:3:18:5 | Bar | codeql-go-types/pkg1 | T3 | Bar | +| pkg1/tst.go:22:3:22:5 | Foo | codeql-go-types/pkg1 | T4 | Foo | +| pkg1/tst.go:23:2:23:4 | Bar | codeql-go-types/pkg1 | T4 | Bar | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1 | Foo | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1 | T | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1 | T3 | val | +| pkg1/tst.go:27:2:27:4 | val | codeql-go-types/pkg1 | T4 | val | +| pkg1/tst.go:28:2:28:5 | flag | codeql-go-types/pkg1 | Foo | flag | +| pkg1/tst.go:28:2:28:5 | flag | codeql-go-types/pkg1 | T4 | flag | +| pkg1/tst.go:32:2:32:5 | flag | codeql-go-types/pkg1 | Bar | flag | +| pkg1/tst.go:32:2:32:5 | flag | codeql-go-types/pkg1 | T2 | flag | +| pkg1/tst.go:62:7:62:15 | NameClash | codeql-go-types/pkg1 | NameClash | NameClash | +| pkg2/tst.go:4:2:4:2 | g | codeql-go-types/pkg2 | G | g | +| pkg2/tst.go:4:2:4:2 | g | codeql-go-types/pkg2 | T | g | +| pkg2/tst.go:8:2:8:2 | g | codeql-go-types/pkg2 | G | g | +| pkg2/tst.go:8:2:8:2 | g | codeql-go-types/pkg2 | T | g | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types | EmbedsNameClash | NCField | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types/pkg1 | NameClash | NCField | +| pkg2/tst.go:17:2:17:8 | NCField | codeql-go-types/pkg2 | NameClash | NCField | +| struct_tags.go:4:2:4:7 | field1 | codeql-go-types | S1 | field1 | +| struct_tags.go:5:2:5:7 | field2 | codeql-go-types | S1 | field2 | +| struct_tags.go:9:2:9:7 | field1 | codeql-go-types | S2 | field1 | +| struct_tags.go:10:2:10:7 | field2 | codeql-go-types | S2 | field2 | diff --git a/go/ql/test/library-tests/semmle/go/Types/GenericTypeInstantiationExpr.expected b/go/ql/test/library-tests/semmle/go/Types/GenericTypeInstantiationExpr.expected index a6941dc84a2a..acf596f607ba 100644 --- a/go/ql/test/library-tests/semmle/go/Types/GenericTypeInstantiationExpr.expected +++ b/go/ql/test/library-tests/semmle/go/Types/GenericTypeInstantiationExpr.expected @@ -1,3 +1,6 @@ +| aliases.go:32:38:32:57 | generic type instantiation expression | aliases.go:32:38:32:43 | MyType | 0 | aliases.go:32:45:32:56 | MyTypeAliasT | +| aliases.go:34:23:34:41 | generic type instantiation expression | aliases.go:34:23:34:33 | MyTypeAlias | 0 | aliases.go:34:35:34:40 | string | +| aliases.go:35:7:35:25 | generic type instantiation expression | aliases.go:35:7:35:17 | MyTypeAlias | 0 | aliases.go:35:19:35:24 | string | | generic.go:12:16:12:40 | generic type instantiation expression | generic.go:12:16:12:37 | CircularGenericStruct1 | 0 | generic.go:12:39:12:39 | T | | generic.go:16:7:16:31 | generic type instantiation expression | generic.go:16:7:16:28 | CircularGenericStruct1 | 0 | generic.go:16:30:16:30 | T | | generic.go:20:14:20:30 | generic type instantiation expression | generic.go:20:14:20:27 | GenericStruct1 | 0 | generic.go:20:29:20:29 | S | diff --git a/go/ql/test/library-tests/semmle/go/Types/InterfaceMethodIds.expected b/go/ql/test/library-tests/semmle/go/Types/InterfaceMethodIds.expected index 9bcfcde1db96..5d3fbf381f1b 100644 --- a/go/ql/test/library-tests/semmle/go/Types/InterfaceMethodIds.expected +++ b/go/ql/test/library-tests/semmle/go/Types/InterfaceMethodIds.expected @@ -1,3 +1,3 @@ | interface { Exported func() ; notExported func() } | func() | Exported | -| interface { Exported func() ; notExported func() } | func() | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.notExported | -| interface { Exported func() ; notExported func() } | func() | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.notExported | +| interface { Exported func() ; notExported func() } | func() | codeql-go-types/pkg1.notExported | +| interface { Exported func() ; notExported func() } | func() | codeql-go-types/pkg2.notExported | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected index 3929e1d98d5e..f9d9bb8ef835 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName2.expected @@ -1,70 +1,70 @@ -| generic.go:33:2:33:5 | GetT | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericInterface | GetT | -| generic.go:48:2:48:6 | clone | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | clone | -| generic.go:49:2:49:7 | dummy1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy1 | -| generic.go:50:2:50:7 | dummy2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy2 | -| generic.go:51:2:51:7 | dummy3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy3 | -| generic.go:52:2:52:7 | dummy4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy4 | -| generic.go:53:2:53:7 | dummy5 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy5 | -| generic.go:54:2:54:7 | dummy6 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy6 | -| generic.go:55:2:55:7 | dummy7 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy7 | -| generic.go:56:2:56:8 | dummy11 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy11 | -| generic.go:57:2:57:8 | dummy12 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy12 | -| generic.go:58:2:58:8 | dummy13 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy13 | -| generic.go:59:2:59:8 | dummy14 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy14 | -| generic.go:60:2:60:8 | dummy15 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy15 | -| generic.go:61:2:61:8 | dummy17 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy17 | -| generic.go:62:2:62:8 | dummy18 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy18 | -| generic.go:63:2:63:8 | dummy19 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy19 | -| generic.go:64:2:64:8 | dummy20 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | dummy20 | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i6 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i8 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i9 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i14 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i15 | String | -| interface.go:37:2:37:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i7 | String | -| interface.go:43:2:43:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i8 | StringA | -| interface.go:43:2:43:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i14 | StringA | -| interface.go:49:2:49:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i9 | StringB | -| interface.go:49:2:49:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i15 | StringB | -| interface.go:92:2:92:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i17 | StringA | -| interface.go:97:2:97:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i18 | StringA | -| interface.go:102:2:102:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i19 | StringB | -| interface.go:107:2:107:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i20 | StringB | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.base | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.ptrembedder | f | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.base | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.ptrembedder | g | -| pkg1/embedding.go:30:18:30:18 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | f | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AC | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AEmbedded | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AExtended | m | -| pkg1/interfaces.go:8:2:8:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.B | m | -| pkg1/interfaces.go:9:2:9:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.B | n | -| pkg1/interfaces.go:13:2:13:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AC | n | -| pkg1/interfaces.go:13:2:13:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.C | n | -| pkg1/interfaces.go:14:2:14:2 | o | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AC | o | -| pkg1/interfaces.go:14:2:14:2 | o | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.C | o | -| pkg1/interfaces.go:28:2:28:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AExtended | n | -| pkg1/interfaces.go:32:2:32:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A2 | m | -| pkg1/interfaces.go:36:2:36:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | Exported | -| pkg1/interfaces.go:37:2:37:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | notExported | -| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | SMethod | -| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | SMethod | -| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | PMethod | -| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | PMethod | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | half | -| pkg2/tst.go:12:2:12:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.MixedExportedAndNot | Exported | -| pkg2/tst.go:13:2:13:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.MixedExportedAndNot | notExported | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsNameClash | NCMethod | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.NameClash | NCMethod | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.NameClash | NCMethod | +| generic.go:33:2:33:5 | GetT | codeql-go-types.GenericInterface | GetT | +| generic.go:48:2:48:6 | clone | codeql-go-types.MyInterface | clone | +| generic.go:49:2:49:7 | dummy1 | codeql-go-types.MyInterface | dummy1 | +| generic.go:50:2:50:7 | dummy2 | codeql-go-types.MyInterface | dummy2 | +| generic.go:51:2:51:7 | dummy3 | codeql-go-types.MyInterface | dummy3 | +| generic.go:52:2:52:7 | dummy4 | codeql-go-types.MyInterface | dummy4 | +| generic.go:53:2:53:7 | dummy5 | codeql-go-types.MyInterface | dummy5 | +| generic.go:54:2:54:7 | dummy6 | codeql-go-types.MyInterface | dummy6 | +| generic.go:55:2:55:7 | dummy7 | codeql-go-types.MyInterface | dummy7 | +| generic.go:56:2:56:8 | dummy11 | codeql-go-types.MyInterface | dummy11 | +| generic.go:57:2:57:8 | dummy12 | codeql-go-types.MyInterface | dummy12 | +| generic.go:58:2:58:8 | dummy13 | codeql-go-types.MyInterface | dummy13 | +| generic.go:59:2:59:8 | dummy14 | codeql-go-types.MyInterface | dummy14 | +| generic.go:60:2:60:8 | dummy15 | codeql-go-types.MyInterface | dummy15 | +| generic.go:61:2:61:8 | dummy17 | codeql-go-types.MyInterface | dummy17 | +| generic.go:62:2:62:8 | dummy18 | codeql-go-types.MyInterface | dummy18 | +| generic.go:63:2:63:8 | dummy19 | codeql-go-types.MyInterface | dummy19 | +| generic.go:64:2:64:8 | dummy20 | codeql-go-types.MyInterface | dummy20 | +| interface.go:30:2:30:7 | String | codeql-go-types.i6 | String | +| interface.go:30:2:30:7 | String | codeql-go-types.i8 | String | +| interface.go:30:2:30:7 | String | codeql-go-types.i9 | String | +| interface.go:30:2:30:7 | String | codeql-go-types.i14 | String | +| interface.go:30:2:30:7 | String | codeql-go-types.i15 | String | +| interface.go:37:2:37:7 | String | codeql-go-types.i7 | String | +| interface.go:43:2:43:8 | StringA | codeql-go-types.i8 | StringA | +| interface.go:43:2:43:8 | StringA | codeql-go-types.i14 | StringA | +| interface.go:49:2:49:8 | StringB | codeql-go-types.i9 | StringB | +| interface.go:49:2:49:8 | StringB | codeql-go-types.i15 | StringB | +| interface.go:92:2:92:8 | StringA | codeql-go-types.i17 | StringA | +| interface.go:97:2:97:8 | StringA | codeql-go-types.i18 | StringA | +| interface.go:102:2:102:8 | StringB | codeql-go-types.i19 | StringB | +| interface.go:107:2:107:8 | StringB | codeql-go-types.i20 | StringB | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1.base | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1.embedder | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1.embedder2 | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1.ptrembedder | f | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.base | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.embedder | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.embedder2 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.embedder3 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.embedder4 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1.ptrembedder | g | +| pkg1/embedding.go:30:18:30:18 | f | codeql-go-types/pkg1.embedder3 | f | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1.A | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1.AC | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1.AEmbedded | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1.AExtended | m | +| pkg1/interfaces.go:8:2:8:2 | m | codeql-go-types/pkg1.B | m | +| pkg1/interfaces.go:9:2:9:2 | n | codeql-go-types/pkg1.B | n | +| pkg1/interfaces.go:13:2:13:2 | n | codeql-go-types/pkg1.AC | n | +| pkg1/interfaces.go:13:2:13:2 | n | codeql-go-types/pkg1.C | n | +| pkg1/interfaces.go:14:2:14:2 | o | codeql-go-types/pkg1.AC | o | +| pkg1/interfaces.go:14:2:14:2 | o | codeql-go-types/pkg1.C | o | +| pkg1/interfaces.go:28:2:28:2 | n | codeql-go-types/pkg1.AExtended | n | +| pkg1/interfaces.go:32:2:32:2 | m | codeql-go-types/pkg1.A2 | m | +| pkg1/interfaces.go:36:2:36:9 | Exported | codeql-go-types/pkg1.MixedExportedAndNot | Exported | +| pkg1/interfaces.go:37:2:37:12 | notExported | codeql-go-types/pkg1.MixedExportedAndNot | notExported | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | codeql-go-types/pkg1.S | SMethod | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | codeql-go-types/pkg1.SEmbedS | SMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | codeql-go-types/pkg1.P | PMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | codeql-go-types/pkg1.SEmbedP | PMethod | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1.Foo | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1.T | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1.T3 | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1.T4 | half | +| pkg2/tst.go:12:2:12:9 | Exported | codeql-go-types/pkg2.MixedExportedAndNot | Exported | +| pkg2/tst.go:13:2:13:12 | notExported | codeql-go-types/pkg2.MixedExportedAndNot | notExported | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types.EmbedsNameClash | NCMethod | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types/pkg1.NameClash | NCMethod | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types/pkg2.NameClash | NCMethod | diff --git a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected index 9699ba3f3821..1d6e9d098e5e 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Method_hasQualifiedName3.expected @@ -1,70 +1,70 @@ -| generic.go:33:2:33:5 | GetT | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | GenericInterface | GetT | -| generic.go:48:2:48:6 | clone | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | clone | -| generic.go:49:2:49:7 | dummy1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy1 | -| generic.go:50:2:50:7 | dummy2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy2 | -| generic.go:51:2:51:7 | dummy3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy3 | -| generic.go:52:2:52:7 | dummy4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy4 | -| generic.go:53:2:53:7 | dummy5 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy5 | -| generic.go:54:2:54:7 | dummy6 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy6 | -| generic.go:55:2:55:7 | dummy7 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy7 | -| generic.go:56:2:56:8 | dummy11 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy11 | -| generic.go:57:2:57:8 | dummy12 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy12 | -| generic.go:58:2:58:8 | dummy13 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy13 | -| generic.go:59:2:59:8 | dummy14 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy14 | -| generic.go:60:2:60:8 | dummy15 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy15 | -| generic.go:61:2:61:8 | dummy17 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy17 | -| generic.go:62:2:62:8 | dummy18 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy18 | -| generic.go:63:2:63:8 | dummy19 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy19 | -| generic.go:64:2:64:8 | dummy20 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | MyInterface | dummy20 | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i6 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i8 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i9 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i14 | String | -| interface.go:30:2:30:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i15 | String | -| interface.go:37:2:37:7 | String | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i7 | String | -| interface.go:43:2:43:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i8 | StringA | -| interface.go:43:2:43:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i14 | StringA | -| interface.go:49:2:49:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i9 | StringB | -| interface.go:49:2:49:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i15 | StringB | -| interface.go:92:2:92:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i17 | StringA | -| interface.go:97:2:97:8 | StringA | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i18 | StringA | -| interface.go:102:2:102:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i19 | StringB | -| interface.go:107:2:107:8 | StringB | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | i20 | StringB | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | base | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder2 | f | -| pkg1/embedding.go:10:13:10:13 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | ptrembedder | f | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | base | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder2 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder4 | g | -| pkg1/embedding.go:14:14:14:14 | g | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | ptrembedder | g | -| pkg1/embedding.go:30:18:30:18 | f | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | embedder3 | f | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | A | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AC | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AEmbedded | m | -| pkg1/interfaces.go:4:2:4:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AExtended | m | -| pkg1/interfaces.go:8:2:8:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | B | m | -| pkg1/interfaces.go:9:2:9:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | B | n | -| pkg1/interfaces.go:13:2:13:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AC | n | -| pkg1/interfaces.go:13:2:13:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | C | n | -| pkg1/interfaces.go:14:2:14:2 | o | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AC | o | -| pkg1/interfaces.go:14:2:14:2 | o | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | C | o | -| pkg1/interfaces.go:28:2:28:2 | n | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | AExtended | n | -| pkg1/interfaces.go:32:2:32:2 | m | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | A2 | m | -| pkg1/interfaces.go:36:2:36:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | MixedExportedAndNot | Exported | -| pkg1/interfaces.go:37:2:37:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | MixedExportedAndNot | notExported | -| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | S | SMethod | -| pkg1/promotedStructs.go:8:12:8:18 | SMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedS | SMethod | -| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | P | PMethod | -| pkg1/promotedStructs.go:17:13:17:19 | PMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | SEmbedP | PMethod | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | Foo | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T3 | half | -| pkg1/tst.go:35:16:35:19 | half | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | T4 | half | -| pkg2/tst.go:12:2:12:9 | Exported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | MixedExportedAndNot | Exported | -| pkg2/tst.go:13:2:13:12 | notExported | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | MixedExportedAndNot | notExported | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types | EmbedsNameClash | NCMethod | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1 | NameClash | NCMethod | -| pkg2/tst.go:20:20:20:27 | NCMethod | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2 | NameClash | NCMethod | +| generic.go:33:2:33:5 | GetT | codeql-go-types | GenericInterface | GetT | +| generic.go:48:2:48:6 | clone | codeql-go-types | MyInterface | clone | +| generic.go:49:2:49:7 | dummy1 | codeql-go-types | MyInterface | dummy1 | +| generic.go:50:2:50:7 | dummy2 | codeql-go-types | MyInterface | dummy2 | +| generic.go:51:2:51:7 | dummy3 | codeql-go-types | MyInterface | dummy3 | +| generic.go:52:2:52:7 | dummy4 | codeql-go-types | MyInterface | dummy4 | +| generic.go:53:2:53:7 | dummy5 | codeql-go-types | MyInterface | dummy5 | +| generic.go:54:2:54:7 | dummy6 | codeql-go-types | MyInterface | dummy6 | +| generic.go:55:2:55:7 | dummy7 | codeql-go-types | MyInterface | dummy7 | +| generic.go:56:2:56:8 | dummy11 | codeql-go-types | MyInterface | dummy11 | +| generic.go:57:2:57:8 | dummy12 | codeql-go-types | MyInterface | dummy12 | +| generic.go:58:2:58:8 | dummy13 | codeql-go-types | MyInterface | dummy13 | +| generic.go:59:2:59:8 | dummy14 | codeql-go-types | MyInterface | dummy14 | +| generic.go:60:2:60:8 | dummy15 | codeql-go-types | MyInterface | dummy15 | +| generic.go:61:2:61:8 | dummy17 | codeql-go-types | MyInterface | dummy17 | +| generic.go:62:2:62:8 | dummy18 | codeql-go-types | MyInterface | dummy18 | +| generic.go:63:2:63:8 | dummy19 | codeql-go-types | MyInterface | dummy19 | +| generic.go:64:2:64:8 | dummy20 | codeql-go-types | MyInterface | dummy20 | +| interface.go:30:2:30:7 | String | codeql-go-types | i6 | String | +| interface.go:30:2:30:7 | String | codeql-go-types | i8 | String | +| interface.go:30:2:30:7 | String | codeql-go-types | i9 | String | +| interface.go:30:2:30:7 | String | codeql-go-types | i14 | String | +| interface.go:30:2:30:7 | String | codeql-go-types | i15 | String | +| interface.go:37:2:37:7 | String | codeql-go-types | i7 | String | +| interface.go:43:2:43:8 | StringA | codeql-go-types | i8 | StringA | +| interface.go:43:2:43:8 | StringA | codeql-go-types | i14 | StringA | +| interface.go:49:2:49:8 | StringB | codeql-go-types | i9 | StringB | +| interface.go:49:2:49:8 | StringB | codeql-go-types | i15 | StringB | +| interface.go:92:2:92:8 | StringA | codeql-go-types | i17 | StringA | +| interface.go:97:2:97:8 | StringA | codeql-go-types | i18 | StringA | +| interface.go:102:2:102:8 | StringB | codeql-go-types | i19 | StringB | +| interface.go:107:2:107:8 | StringB | codeql-go-types | i20 | StringB | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1 | base | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1 | embedder | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1 | embedder2 | f | +| pkg1/embedding.go:10:13:10:13 | f | codeql-go-types/pkg1 | ptrembedder | f | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | base | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | embedder | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | embedder2 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | embedder3 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | embedder4 | g | +| pkg1/embedding.go:14:14:14:14 | g | codeql-go-types/pkg1 | ptrembedder | g | +| pkg1/embedding.go:30:18:30:18 | f | codeql-go-types/pkg1 | embedder3 | f | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1 | A | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1 | AC | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1 | AEmbedded | m | +| pkg1/interfaces.go:4:2:4:2 | m | codeql-go-types/pkg1 | AExtended | m | +| pkg1/interfaces.go:8:2:8:2 | m | codeql-go-types/pkg1 | B | m | +| pkg1/interfaces.go:9:2:9:2 | n | codeql-go-types/pkg1 | B | n | +| pkg1/interfaces.go:13:2:13:2 | n | codeql-go-types/pkg1 | AC | n | +| pkg1/interfaces.go:13:2:13:2 | n | codeql-go-types/pkg1 | C | n | +| pkg1/interfaces.go:14:2:14:2 | o | codeql-go-types/pkg1 | AC | o | +| pkg1/interfaces.go:14:2:14:2 | o | codeql-go-types/pkg1 | C | o | +| pkg1/interfaces.go:28:2:28:2 | n | codeql-go-types/pkg1 | AExtended | n | +| pkg1/interfaces.go:32:2:32:2 | m | codeql-go-types/pkg1 | A2 | m | +| pkg1/interfaces.go:36:2:36:9 | Exported | codeql-go-types/pkg1 | MixedExportedAndNot | Exported | +| pkg1/interfaces.go:37:2:37:12 | notExported | codeql-go-types/pkg1 | MixedExportedAndNot | notExported | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | codeql-go-types/pkg1 | S | SMethod | +| pkg1/promotedStructs.go:8:12:8:18 | SMethod | codeql-go-types/pkg1 | SEmbedS | SMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | codeql-go-types/pkg1 | P | PMethod | +| pkg1/promotedStructs.go:17:13:17:19 | PMethod | codeql-go-types/pkg1 | SEmbedP | PMethod | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1 | Foo | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1 | T | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1 | T3 | half | +| pkg1/tst.go:35:16:35:19 | half | codeql-go-types/pkg1 | T4 | half | +| pkg2/tst.go:12:2:12:9 | Exported | codeql-go-types/pkg2 | MixedExportedAndNot | Exported | +| pkg2/tst.go:13:2:13:12 | notExported | codeql-go-types/pkg2 | MixedExportedAndNot | notExported | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types | EmbedsNameClash | NCMethod | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types/pkg1 | NameClash | NCMethod | +| pkg2/tst.go:20:20:20:27 | NCMethod | codeql-go-types/pkg2 | NameClash | NCMethod | diff --git a/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected b/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected index dd6e9021a4f3..918f82d01d29 100644 --- a/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected +++ b/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected @@ -1,111 +1,112 @@ -| aliases.go:19:6:19:7 | S3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S3 | -| cyclic.go:3:6:3:6 | s | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.s | -| cyclic.go:7:6:7:6 | t | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.t | -| cyclic.go:12:6:12:6 | u | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.u | -| cyclic.go:16:6:16:6 | v | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.v | -| depth.go:5:6:5:6 | a | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.a | -| depth.go:10:6:10:6 | b | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.b | -| depth.go:14:6:14:6 | c | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.c | -| depth.go:18:6:18:6 | d | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.d | -| embedded.go:3:6:3:8 | Baz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.Baz | -| embedded.go:7:6:7:8 | Qux | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.Qux | -| embedded.go:11:6:11:14 | EmbedsBaz | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsBaz | -| generic.go:3:6:3:19 | GenericStruct1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct1 | -| generic.go:11:6:11:27 | CircularGenericStruct1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.CircularGenericStruct1 | -| generic.go:15:6:15:31 | UsesCircularGenericStruct1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.UsesCircularGenericStruct1 | -| generic.go:19:6:19:19 | GenericStruct2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct2 | -| generic.go:24:6:24:20 | GenericStruct2b | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericStruct2b | -| generic.go:28:6:28:27 | CircularGenericStruct2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.CircularGenericStruct2 | -| generic.go:32:6:32:21 | GenericInterface | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericInterface | -| generic.go:36:6:36:17 | GenericArray | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericArray | -| generic.go:37:6:37:19 | GenericPointer | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericPointer | -| generic.go:38:6:38:17 | GenericSlice | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericSlice | -| generic.go:39:6:39:16 | GenericMap1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericMap1 | -| generic.go:40:6:40:16 | GenericMap2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericMap2 | -| generic.go:41:6:41:19 | GenericChannel | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericChannel | -| generic.go:42:6:42:14 | MyMapType | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyMapType | -| generic.go:43:6:43:17 | GenericNamed | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericNamed | -| generic.go:44:6:44:16 | MyFuncType1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyFuncType1 | -| generic.go:45:6:45:16 | MyFuncType2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyFuncType2 | -| generic.go:47:6:47:16 | MyInterface | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.MyInterface | -| generic.go:67:6:67:22 | HasBlankTypeParam | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.HasBlankTypeParam | -| generic.go:68:6:68:23 | HasBlankTypeParams | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.HasBlankTypeParams | -| generic.go:84:6:84:21 | GenericSignature | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericSignature | -| interface.go:3:6:3:7 | i0 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i0 | -| interface.go:5:6:5:7 | i1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i1 | -| interface.go:9:6:9:7 | i2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i2 | -| interface.go:13:6:13:7 | i3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i3 | -| interface.go:18:6:18:7 | i4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i4 | -| interface.go:23:6:23:7 | i5 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i5 | -| interface.go:28:6:28:7 | i6 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i6 | -| interface.go:34:6:34:7 | i7 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i7 | -| interface.go:41:6:41:7 | i8 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i8 | -| interface.go:47:6:47:7 | i9 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i9 | -| interface.go:52:6:52:8 | i10 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i10 | -| interface.go:57:6:57:8 | i11 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i11 | -| interface.go:63:6:63:8 | i12 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i12 | -| interface.go:69:6:69:8 | i13 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i13 | -| interface.go:75:6:75:8 | i14 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i14 | -| interface.go:81:6:81:8 | i15 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i15 | -| interface.go:87:6:87:8 | i16 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i16 | -| interface.go:91:6:91:8 | i17 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i17 | -| interface.go:95:6:95:8 | i18 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i18 | -| interface.go:101:6:101:8 | i19 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i19 | -| interface.go:105:6:105:8 | i20 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.i20 | -| interface.go:114:6:114:19 | testComparable | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable | -| interface.go:115:6:115:20 | testComparable0 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable0 | -| interface.go:116:6:116:20 | testComparable1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable1 | -| interface.go:117:6:117:20 | testComparable2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable2 | -| interface.go:118:6:118:20 | testComparable3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable3 | -| interface.go:119:6:119:20 | testComparable4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable4 | -| interface.go:120:6:120:20 | testComparable5 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable5 | -| interface.go:121:6:121:20 | testComparable6 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable6 | -| interface.go:122:6:122:20 | testComparable7 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable7 | -| interface.go:123:6:123:20 | testComparable8 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable8 | -| interface.go:124:6:124:20 | testComparable9 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable9 | -| interface.go:125:6:125:21 | testComparable10 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable10 | -| interface.go:126:6:126:21 | testComparable11 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable11 | -| interface.go:127:6:127:21 | testComparable12 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable12 | -| interface.go:128:6:128:21 | testComparable13 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable13 | -| interface.go:129:6:129:21 | testComparable14 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable14 | -| interface.go:130:6:130:21 | testComparable15 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable15 | -| interface.go:131:6:131:21 | testComparable16 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable16 | -| interface.go:132:6:132:21 | testComparable17 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable17 | -| interface.go:133:6:133:21 | testComparable18 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable18 | -| interface.go:134:6:134:21 | testComparable19 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable19 | -| interface.go:135:6:135:21 | testComparable20 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable20 | -| interface.go:136:6:136:21 | testComparable21 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable21 | -| interface.go:137:6:137:21 | testComparable22 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable22 | -| interface.go:138:6:138:21 | testComparable23 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.testComparable23 | -| main.go:17:6:17:20 | EmbedsNameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.EmbedsNameClash | -| pkg1/embedding.go:8:6:8:9 | base | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.base | -| pkg1/embedding.go:19:6:19:13 | embedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder | -| pkg1/embedding.go:22:6:22:16 | ptrembedder | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.ptrembedder | -| pkg1/embedding.go:25:6:25:14 | embedder2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder2 | -| pkg1/embedding.go:28:6:28:14 | embedder3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder3 | -| pkg1/embedding.go:35:6:35:14 | embedder4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.embedder4 | -| pkg1/interfaces.go:3:6:3:6 | A | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A | -| pkg1/interfaces.go:7:6:7:6 | B | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.B | -| pkg1/interfaces.go:12:6:12:6 | C | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.C | -| pkg1/interfaces.go:17:6:17:14 | AEmbedded | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AEmbedded | -| pkg1/interfaces.go:21:6:21:7 | AC | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AC | -| pkg1/interfaces.go:26:6:26:14 | AExtended | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.AExtended | -| pkg1/interfaces.go:31:6:31:7 | A2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.A2 | -| pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.MixedExportedAndNot | -| pkg1/promotedStructs.go:4:6:4:6 | S | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.S | -| pkg1/promotedStructs.go:13:6:13:6 | P | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.P | -| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedS | -| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.SEmbedP | -| pkg1/tst.go:5:6:5:6 | T | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T | -| pkg1/tst.go:11:6:11:7 | T2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T2 | -| pkg1/tst.go:16:6:16:7 | T3 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T3 | -| pkg1/tst.go:21:6:21:7 | T4 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.T4 | -| pkg1/tst.go:26:6:26:8 | Foo | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Foo | -| pkg1/tst.go:31:6:31:8 | Bar | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.Bar | -| pkg1/tst.go:61:6:61:14 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1.NameClash | -| pkg2/tst.go:3:6:3:6 | T | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.T | -| pkg2/tst.go:7:6:7:6 | G | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.G | -| pkg2/tst.go:11:6:11:24 | MixedExportedAndNot | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.MixedExportedAndNot | -| pkg2/tst.go:16:6:16:14 | NameClash | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2.NameClash | -| struct_tags.go:3:6:3:7 | S1 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S1 | -| struct_tags.go:8:6:8:7 | S2 | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.S2 | +| aliases.go:19:6:19:7 | S3 | codeql-go-types.S3 | +| aliases.go:29:6:29:11 | MyType | codeql-go-types.MyType | +| cyclic.go:3:6:3:6 | s | codeql-go-types.s | +| cyclic.go:7:6:7:6 | t | codeql-go-types.t | +| cyclic.go:12:6:12:6 | u | codeql-go-types.u | +| cyclic.go:16:6:16:6 | v | codeql-go-types.v | +| depth.go:5:6:5:6 | a | codeql-go-types.a | +| depth.go:10:6:10:6 | b | codeql-go-types.b | +| depth.go:14:6:14:6 | c | codeql-go-types.c | +| depth.go:18:6:18:6 | d | codeql-go-types.d | +| embedded.go:3:6:3:8 | Baz | codeql-go-types.Baz | +| embedded.go:7:6:7:8 | Qux | codeql-go-types.Qux | +| embedded.go:11:6:11:14 | EmbedsBaz | codeql-go-types.EmbedsBaz | +| generic.go:3:6:3:19 | GenericStruct1 | codeql-go-types.GenericStruct1 | +| generic.go:11:6:11:27 | CircularGenericStruct1 | codeql-go-types.CircularGenericStruct1 | +| generic.go:15:6:15:31 | UsesCircularGenericStruct1 | codeql-go-types.UsesCircularGenericStruct1 | +| generic.go:19:6:19:19 | GenericStruct2 | codeql-go-types.GenericStruct2 | +| generic.go:24:6:24:20 | GenericStruct2b | codeql-go-types.GenericStruct2b | +| generic.go:28:6:28:27 | CircularGenericStruct2 | codeql-go-types.CircularGenericStruct2 | +| generic.go:32:6:32:21 | GenericInterface | codeql-go-types.GenericInterface | +| generic.go:36:6:36:17 | GenericArray | codeql-go-types.GenericArray | +| generic.go:37:6:37:19 | GenericPointer | codeql-go-types.GenericPointer | +| generic.go:38:6:38:17 | GenericSlice | codeql-go-types.GenericSlice | +| generic.go:39:6:39:16 | GenericMap1 | codeql-go-types.GenericMap1 | +| generic.go:40:6:40:16 | GenericMap2 | codeql-go-types.GenericMap2 | +| generic.go:41:6:41:19 | GenericChannel | codeql-go-types.GenericChannel | +| generic.go:42:6:42:14 | MyMapType | codeql-go-types.MyMapType | +| generic.go:43:6:43:17 | GenericNamed | codeql-go-types.GenericNamed | +| generic.go:44:6:44:16 | MyFuncType1 | codeql-go-types.MyFuncType1 | +| generic.go:45:6:45:16 | MyFuncType2 | codeql-go-types.MyFuncType2 | +| generic.go:47:6:47:16 | MyInterface | codeql-go-types.MyInterface | +| generic.go:67:6:67:22 | HasBlankTypeParam | codeql-go-types.HasBlankTypeParam | +| generic.go:68:6:68:23 | HasBlankTypeParams | codeql-go-types.HasBlankTypeParams | +| generic.go:84:6:84:21 | GenericSignature | codeql-go-types.GenericSignature | +| interface.go:3:6:3:7 | i0 | codeql-go-types.i0 | +| interface.go:5:6:5:7 | i1 | codeql-go-types.i1 | +| interface.go:9:6:9:7 | i2 | codeql-go-types.i2 | +| interface.go:13:6:13:7 | i3 | codeql-go-types.i3 | +| interface.go:18:6:18:7 | i4 | codeql-go-types.i4 | +| interface.go:23:6:23:7 | i5 | codeql-go-types.i5 | +| interface.go:28:6:28:7 | i6 | codeql-go-types.i6 | +| interface.go:34:6:34:7 | i7 | codeql-go-types.i7 | +| interface.go:41:6:41:7 | i8 | codeql-go-types.i8 | +| interface.go:47:6:47:7 | i9 | codeql-go-types.i9 | +| interface.go:52:6:52:8 | i10 | codeql-go-types.i10 | +| interface.go:57:6:57:8 | i11 | codeql-go-types.i11 | +| interface.go:63:6:63:8 | i12 | codeql-go-types.i12 | +| interface.go:69:6:69:8 | i13 | codeql-go-types.i13 | +| interface.go:75:6:75:8 | i14 | codeql-go-types.i14 | +| interface.go:81:6:81:8 | i15 | codeql-go-types.i15 | +| interface.go:87:6:87:8 | i16 | codeql-go-types.i16 | +| interface.go:91:6:91:8 | i17 | codeql-go-types.i17 | +| interface.go:95:6:95:8 | i18 | codeql-go-types.i18 | +| interface.go:101:6:101:8 | i19 | codeql-go-types.i19 | +| interface.go:105:6:105:8 | i20 | codeql-go-types.i20 | +| interface.go:114:6:114:19 | testComparable | codeql-go-types.testComparable | +| interface.go:115:6:115:20 | testComparable0 | codeql-go-types.testComparable0 | +| interface.go:116:6:116:20 | testComparable1 | codeql-go-types.testComparable1 | +| interface.go:117:6:117:20 | testComparable2 | codeql-go-types.testComparable2 | +| interface.go:118:6:118:20 | testComparable3 | codeql-go-types.testComparable3 | +| interface.go:119:6:119:20 | testComparable4 | codeql-go-types.testComparable4 | +| interface.go:120:6:120:20 | testComparable5 | codeql-go-types.testComparable5 | +| interface.go:121:6:121:20 | testComparable6 | codeql-go-types.testComparable6 | +| interface.go:122:6:122:20 | testComparable7 | codeql-go-types.testComparable7 | +| interface.go:123:6:123:20 | testComparable8 | codeql-go-types.testComparable8 | +| interface.go:124:6:124:20 | testComparable9 | codeql-go-types.testComparable9 | +| interface.go:125:6:125:21 | testComparable10 | codeql-go-types.testComparable10 | +| interface.go:126:6:126:21 | testComparable11 | codeql-go-types.testComparable11 | +| interface.go:127:6:127:21 | testComparable12 | codeql-go-types.testComparable12 | +| interface.go:128:6:128:21 | testComparable13 | codeql-go-types.testComparable13 | +| interface.go:129:6:129:21 | testComparable14 | codeql-go-types.testComparable14 | +| interface.go:130:6:130:21 | testComparable15 | codeql-go-types.testComparable15 | +| interface.go:131:6:131:21 | testComparable16 | codeql-go-types.testComparable16 | +| interface.go:132:6:132:21 | testComparable17 | codeql-go-types.testComparable17 | +| interface.go:133:6:133:21 | testComparable18 | codeql-go-types.testComparable18 | +| interface.go:134:6:134:21 | testComparable19 | codeql-go-types.testComparable19 | +| interface.go:135:6:135:21 | testComparable20 | codeql-go-types.testComparable20 | +| interface.go:136:6:136:21 | testComparable21 | codeql-go-types.testComparable21 | +| interface.go:137:6:137:21 | testComparable22 | codeql-go-types.testComparable22 | +| interface.go:138:6:138:21 | testComparable23 | codeql-go-types.testComparable23 | +| main.go:17:6:17:20 | EmbedsNameClash | codeql-go-types.EmbedsNameClash | +| pkg1/embedding.go:8:6:8:9 | base | codeql-go-types/pkg1.base | +| pkg1/embedding.go:19:6:19:13 | embedder | codeql-go-types/pkg1.embedder | +| pkg1/embedding.go:22:6:22:16 | ptrembedder | codeql-go-types/pkg1.ptrembedder | +| pkg1/embedding.go:25:6:25:14 | embedder2 | codeql-go-types/pkg1.embedder2 | +| pkg1/embedding.go:28:6:28:14 | embedder3 | codeql-go-types/pkg1.embedder3 | +| pkg1/embedding.go:35:6:35:14 | embedder4 | codeql-go-types/pkg1.embedder4 | +| pkg1/interfaces.go:3:6:3:6 | A | codeql-go-types/pkg1.A | +| pkg1/interfaces.go:7:6:7:6 | B | codeql-go-types/pkg1.B | +| pkg1/interfaces.go:12:6:12:6 | C | codeql-go-types/pkg1.C | +| pkg1/interfaces.go:17:6:17:14 | AEmbedded | codeql-go-types/pkg1.AEmbedded | +| pkg1/interfaces.go:21:6:21:7 | AC | codeql-go-types/pkg1.AC | +| pkg1/interfaces.go:26:6:26:14 | AExtended | codeql-go-types/pkg1.AExtended | +| pkg1/interfaces.go:31:6:31:7 | A2 | codeql-go-types/pkg1.A2 | +| pkg1/interfaces.go:35:6:35:24 | MixedExportedAndNot | codeql-go-types/pkg1.MixedExportedAndNot | +| pkg1/promotedStructs.go:4:6:4:6 | S | codeql-go-types/pkg1.S | +| pkg1/promotedStructs.go:13:6:13:6 | P | codeql-go-types/pkg1.P | +| pkg1/promotedStructs.go:22:6:22:12 | SEmbedS | codeql-go-types/pkg1.SEmbedS | +| pkg1/promotedStructs.go:25:6:25:12 | SEmbedP | codeql-go-types/pkg1.SEmbedP | +| pkg1/tst.go:5:6:5:6 | T | codeql-go-types/pkg1.T | +| pkg1/tst.go:11:6:11:7 | T2 | codeql-go-types/pkg1.T2 | +| pkg1/tst.go:16:6:16:7 | T3 | codeql-go-types/pkg1.T3 | +| pkg1/tst.go:21:6:21:7 | T4 | codeql-go-types/pkg1.T4 | +| pkg1/tst.go:26:6:26:8 | Foo | codeql-go-types/pkg1.Foo | +| pkg1/tst.go:31:6:31:8 | Bar | codeql-go-types/pkg1.Bar | +| pkg1/tst.go:61:6:61:14 | NameClash | codeql-go-types/pkg1.NameClash | +| pkg2/tst.go:3:6:3:6 | T | codeql-go-types/pkg2.T | +| pkg2/tst.go:7:6:7:6 | G | codeql-go-types/pkg2.G | +| pkg2/tst.go:11:6:11:24 | MixedExportedAndNot | codeql-go-types/pkg2.MixedExportedAndNot | +| pkg2/tst.go:16:6:16:14 | NameClash | codeql-go-types/pkg2.NameClash | +| struct_tags.go:3:6:3:7 | S1 | codeql-go-types.S1 | +| struct_tags.go:8:6:8:7 | S2 | codeql-go-types.S2 | diff --git a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected index 5831152884bf..5c8d39df5ecc 100644 --- a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected +++ b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumParameter.expected @@ -1,6 +1,7 @@ | aliases.go:10:1:12:1 | function declaration | 1 | | aliases.go:14:1:16:1 | function declaration | 1 | | aliases.go:25:1:27:1 | function declaration | 1 | +| aliases.go:34:1:38:1 | function declaration | 1 | | depth.go:22:1:25:1 | function declaration | 0 | | generic.go:70:1:72:1 | function declaration | 1 | | generic.go:74:1:80:1 | function declaration | 1 | diff --git a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected index 960a272f73ca..a5e71b7f4d9a 100644 --- a/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected +++ b/go/ql/test/library-tests/semmle/go/Types/SignatureType_getNumResult.expected @@ -1,6 +1,7 @@ | aliases.go:10:1:12:1 | function declaration | 1 | | aliases.go:14:1:16:1 | function declaration | 1 | | aliases.go:25:1:27:1 | function declaration | 1 | +| aliases.go:34:1:38:1 | function declaration | 1 | | depth.go:22:1:25:1 | function declaration | 0 | | generic.go:70:1:72:1 | function declaration | 1 | | generic.go:74:1:80:1 | function declaration | 0 | diff --git a/go/ql/test/library-tests/semmle/go/Types/StructFields.expected b/go/ql/test/library-tests/semmle/go/Types/StructFields.expected index 1757e0cdaf95..42138b47cbc3 100644 --- a/go/ql/test/library-tests/semmle/go/Types/StructFields.expected +++ b/go/ql/test/library-tests/semmle/go/Types/StructFields.expected @@ -1,6 +1,7 @@ | aliases.go:19:6:19:7 | S3 | aliases.go:6:18:6:37 | struct type | x | int | | aliases.go:19:6:19:7 | S3 | aliases.go:8:18:8:37 | struct type | x | int | | aliases.go:19:6:19:7 | S3 | aliases.go:19:9:19:23 | struct type | x | int | +| aliases.go:29:6:29:11 | MyType | aliases.go:29:26:29:44 | struct type | x | MyTypeT | | cyclic.go:3:6:3:6 | s | cyclic.go:3:8:5:1 | struct type | s | * s | | cyclic.go:7:6:7:6 | t | cyclic.go:7:8:10:1 | struct type | f | int | | cyclic.go:7:6:7:6 | t | cyclic.go:7:8:10:1 | struct type | t | t | diff --git a/go/ql/test/library-tests/semmle/go/Types/Types.expected b/go/ql/test/library-tests/semmle/go/Types/Types.expected index ab34dd4d8eef..2a057f0354a3 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Types.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Types.expected @@ -1,4 +1,5 @@ | aliases.go:19:6:19:7 | S3 | S3 | +| aliases.go:29:6:29:11 | MyType | MyType | | cyclic.go:3:6:3:6 | s | s | | cyclic.go:7:6:7:6 | t | t | | cyclic.go:12:6:12:6 | u | u | diff --git a/go/ql/test/library-tests/semmle/go/Types/aliases.go b/go/ql/test/library-tests/semmle/go/Types/aliases.go index 49f846587328..7ef658136b9c 100644 --- a/go/ql/test/library-tests/semmle/go/Types/aliases.go +++ b/go/ql/test/library-tests/semmle/go/Types/aliases.go @@ -25,3 +25,14 @@ type T = S3 func H(Afs3 T) int { return Afs3.x } + +type MyType[MyTypeT any] struct{ x MyTypeT } + +// An alias with a type parameter - added in Go 1.24 +type MyTypeAlias[MyTypeAliasT any] = MyType[MyTypeAliasT] + +func useMyTypeAlias(a MyTypeAlias[string]) string { + b := MyTypeAlias[string]{x: "hello"} + a.x = b.x + return a.x +} diff --git a/go/ql/test/library-tests/semmle/go/Types/go.mod b/go/ql/test/library-tests/semmle/go/Types/go.mod new file mode 100644 index 000000000000..cb8e059d3736 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/Types/go.mod @@ -0,0 +1,3 @@ +module codeql-go-types + +go 1.24 diff --git a/go/ql/test/library-tests/semmle/go/Types/main.go b/go/ql/test/library-tests/semmle/go/Types/main.go index de11cbd152f5..f75e55694a8a 100644 --- a/go/ql/test/library-tests/semmle/go/Types/main.go +++ b/go/ql/test/library-tests/semmle/go/Types/main.go @@ -3,7 +3,7 @@ package main import ( "regexp" - "github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1" + "codeql-go-types/pkg1" ) func test(r *regexp.Regexp) {} diff --git a/go/ql/test/library-tests/semmle/go/Types/pkg1/tst.go b/go/ql/test/library-tests/semmle/go/Types/pkg1/tst.go index 598e711ff2c4..61a83f344965 100644 --- a/go/ql/test/library-tests/semmle/go/Types/pkg1/tst.go +++ b/go/ql/test/library-tests/semmle/go/Types/pkg1/tst.go @@ -1,6 +1,6 @@ package pkg1 -import "github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg2" +import "codeql-go-types/pkg2" type T struct { f int diff --git a/go/ql/test/library-tests/semmle/go/Types/promoted.go b/go/ql/test/library-tests/semmle/go/Types/promoted.go index 326b81084a71..962ff8f75d23 100644 --- a/go/ql/test/library-tests/semmle/go/Types/promoted.go +++ b/go/ql/test/library-tests/semmle/go/Types/promoted.go @@ -1,6 +1,6 @@ package main -import "github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types/pkg1" +import "codeql-go-types/pkg1" // IMPORTANT: Make sure that *pkg1.SEmbedP is not referenced. diff --git a/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected b/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected index 19c2ad21db8c..f0e0fb5cdeb3 100644 --- a/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected +++ b/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected @@ -5,4 +5,4 @@ | bad.go:3:5:3:5 | expected 'IDENT', found newline | | bad.go:5:1:5:1 | expected ';', found wnvwun | | badimport.go:6:2:6:2 | invalid import path (invalid character U+007B '{') | -| type.go:11:9:11:9 | cannot use v (variable of type V) as T value in argument to takesT | +| type.go:11:9:11:9 | cannot use v (variable of int type V) as T value in argument to takesT | diff --git a/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected b/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected index c5afba4d05dd..2360984e6af9 100644 --- a/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected +++ b/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected @@ -1,5 +1,5 @@ | Extraction failed in badimport.go with error invalid import path (invalid character U+007B '{') | 2 | -| Extraction failed in type.go with error cannot use v (variable of type V) as T value in argument to takesT | 2 | +| Extraction failed in type.go with error cannot use v (variable of int type V) as T value in argument to takesT | 2 | | Extraction failed with error expected ';', found wnvwun | 2 | | Extraction failed with error expected 'IDENT', found newline | 2 | | Extraction failed with error expected 'package', found avvu | 2 |