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 84a36cc1eae55..6eef0da1f8953 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Aliases.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Aliases.expected @@ -1,37 +1,14 @@ -| DirEntry | file://:0:0:0:0 | DirEntry | -| FileInfo | file://:0:0:0:0 | FileInfo | -| FileMode | file://:0:0:0:0 | FileMode | -| GenericSignatureAlias | generic.go:84:6:84:21 | GenericSignature | -| Kind | file://:0:0:0:0 | Kind | -| Kind | file://:0:0:0:0 | basic interface type | -| PathError | file://:0:0:0:0 | PathError | -| TypeAlias | generic.go:36:6:36:17 | GenericArray | -| _type | file://:0:0:0:0 | Type | -| aNameOff | file://:0:0:0:0 | NameOff | -| aTextOff | file://:0:0:0:0 | TextOff | -| aTypeOff | file://:0:0:0:0 | TypeOff | -| any | file://:0:0:0:0 | Kind | -| any | file://:0:0:0:0 | basic interface type | -| arrayType | file://:0:0:0:0 | ArrayType | -| arraytype | file://:0:0:0:0 | ArrayType | -| chanType | file://:0:0:0:0 | ChanType | -| chantype | file://:0:0:0:0 | ChanType | -| funcType | file://:0:0:0:0 | FuncType | -| functype | file://:0:0:0:0 | FuncType | -| interfaceType | file://:0:0:0:0 | InterfaceType | -| interfacetype | file://:0:0:0:0 | InterfaceType | -| maptype | file://:0:0:0:0 | MapType | -| name | file://:0:0:0:0 | Name | -| nameOff | file://:0:0:0:0 | NameOff | -| ptrType | file://:0:0:0:0 | PtrType | -| ptrtype | file://:0:0:0:0 | PtrType | -| sliceType | file://:0:0:0:0 | SliceType | -| slicetype | file://:0:0:0:0 | SliceType | -| structField | file://:0:0:0:0 | StructField | -| structType | file://:0:0:0:0 | StructType | -| structtype | file://:0:0:0:0 | StructType | -| syscallErrorType | file://:0:0:0:0 | Errno | -| textOff | file://:0:0:0:0 | TextOff | -| typeOff | file://:0:0:0:0 | TypeOff | -| uncommonType | file://:0:0:0:0 | UncommonType | -| uncommontype | file://:0:0:0:0 | UncommonType | +| github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.FirstAlias | string | string | +| github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.SecondAlias | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.FirstAlias | string | +| internal/reflectlite.Kind | internal/abi.Kind | uint | +| internal/reflectlite.nameOff | internal/abi.NameOff | int32 | +| internal/reflectlite.textOff | internal/abi.TextOff | int32 | +| internal/reflectlite.typeOff | internal/abi.TypeOff | int32 | +| os.FileMode | io/fs.FileMode | uint32 | +| os.syscallErrorType | syscall.Errno | uintptr | +| reflect.aNameOff | internal/abi.NameOff | int32 | +| reflect.aTextOff | internal/abi.TextOff | int32 | +| reflect.aTypeOff | internal/abi.TypeOff | int32 | +| runtime.nameOff | internal/abi.NameOff | int32 | +| runtime.textOff | internal/abi.TextOff | int32 | +| runtime.typeOff | internal/abi.TypeOff | int32 | diff --git a/go/ql/test/library-tests/semmle/go/Types/Aliases.ql b/go/ql/test/library-tests/semmle/go/Types/Aliases.ql index 124077d75e8fc..5b13c719ddb1b 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Aliases.ql +++ b/go/ql/test/library-tests/semmle/go/Types/Aliases.ql @@ -1,4 +1,10 @@ import go +string getQualifiedNameIfExists(Type t) { + if exists(t.getQualifiedName()) then result = t.getQualifiedName() else result = t.getName() +} + from AliasType at -select at.getName(), at.getRhs() +where at.hasLocationInfo(_, _, _, _, _) +select getQualifiedNameIfExists(at), getQualifiedNameIfExists(at.getRhs()), + getQualifiedNameIfExists(at.getUnderlyingType()) 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 3f170370284ce..d72190a0f540f 100644 --- a/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected +++ b/go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected @@ -1,3 +1,5 @@ +| aliases.go:3:6:3:15 | FirstAlias | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.FirstAlias | +| aliases.go:4:6:4:16 | SecondAlias | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.SecondAlias | | 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 | @@ -29,7 +31,9 @@ | 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:82:6:82:14 | TypeAlias | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.TypeAlias | | generic.go:84:6:84:21 | GenericSignature | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericSignature | +| generic.go:85:6:85:26 | GenericSignatureAlias | github.com/github/codeql-go/ql/test/library-tests/semmle/go/Types.GenericSignatureAlias | | 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 | 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 b4a05a8858d10..7d7158d87224a 100644 --- a/go/ql/test/library-tests/semmle/go/Types/Types.expected +++ b/go/ql/test/library-tests/semmle/go/Types/Types.expected @@ -1,3 +1,5 @@ +| aliases.go:3:6:3:15 | FirstAlias | FirstAlias | +| aliases.go:4:6:4:16 | SecondAlias | SecondAlias | | cyclic.go:3:6:3:6 | s | s | | cyclic.go:7:6:7:6 | t | t | | cyclic.go:12:6:12:6 | u | u | @@ -29,7 +31,9 @@ | generic.go:47:6:47:16 | MyInterface | MyInterface | | generic.go:67:6:67:22 | HasBlankTypeParam | HasBlankTypeParam | | generic.go:68:6:68:23 | HasBlankTypeParams | HasBlankTypeParams | +| generic.go:82:6:82:14 | TypeAlias | TypeAlias | | generic.go:84:6:84:21 | GenericSignature | GenericSignature | +| generic.go:85:6:85:26 | GenericSignatureAlias | GenericSignatureAlias | | interface.go:3:6:3:7 | i0 | i0 | | interface.go:5:6:5:7 | i1 | i1 | | interface.go:9:6:9:7 | i2 | i2 | diff --git a/go/ql/test/library-tests/semmle/go/Types/aliases.go b/go/ql/test/library-tests/semmle/go/Types/aliases.go new file mode 100644 index 0000000000000..f1e7fb3d73f44 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/Types/aliases.go @@ -0,0 +1,4 @@ +package main + +type FirstAlias = string +type SecondAlias = FirstAlias