mirror of
https://github.com/github/codeql.git
synced 2026-04-18 05:24:01 +02:00
Merge branch 'main' into rust-ref-pattern
This commit is contained in:
@@ -243,7 +243,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.24.0")
|
||||
|
||||
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
|
||||
go_deps.from_file(go_mod = "//go/extractor:go.mod")
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* The models for `System.Net.Http.HttpRequestMessage` and `System.UriBuilder` have been modified to better model the flow of tainted URIs.
|
||||
@@ -10,6 +10,8 @@ extensions:
|
||||
data:
|
||||
- ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.String)", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Net.Http", "HttpRequestMessage", False, "HttpRequestMessage", "(System.Net.Http.HttpMethod,System.Uri)", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
||||
- ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair<System.String,System.Object>)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Key]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "manual"]
|
||||
- ["System.Net.Http", "HttpRequestOptions", False, "Add", "(System.Collections.Generic.KeyValuePair<System.String,System.Object>)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Value]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Value]", "value", "manual"]
|
||||
- ["System.Net.Http", "MultipartContent", False, "Add", "(System.Net.Http.HttpContent)", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
|
||||
|
||||
@@ -784,6 +784,24 @@ extensions:
|
||||
- ["System", "Uri", False, "get_OriginalString", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "Uri", False, "get_PathAndQuery", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "Uri", False, "get_Query", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "ToString", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.Uri)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[0]", "Argument[this].Property[System.UriBuilder.Scheme]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[1]", "Argument[this].Property[System.UriBuilder.Host]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[2]", "Argument[this].Property[System.UriBuilder.Port]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[3]", "Argument[this].Property[System.UriBuilder.Path]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "UriBuilder", "(System.String,System.String,System.Int32,System.String,System.String)", "", "Argument[4]", "Argument[this].Property[System.UriBuilder.Query,System.UriBuilder.Fragment]", "taint", "manual"]
|
||||
- ["System", "UriBuilder", False, "get_Uri", "()", "", "Argument[this].Property[System.UriBuilder.Scheme,System.UriBuilder.UserName,System.UriBuilder.Password,System.UriBuilder.Host,System.UriBuilder.Port,System.UriBuilder.Path,System.UriBuilder.Query,System.UriBuilder.Fragment]", "ReturnValue", "taint", "manual"]
|
||||
- ["System", "ValueTuple", False, "Create<T1,T2,T3,T4,T5,T6,T7,T8>", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[0]", "ReturnValue.Field[System.ValueTuple`8.Item1]", "value", "manual"]
|
||||
- ["System", "ValueTuple", False, "Create<T1,T2,T3,T4,T5,T6,T7,T8>", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[1]", "ReturnValue.Field[System.ValueTuple`8.Item2]", "value", "manual"]
|
||||
- ["System", "ValueTuple", False, "Create<T1,T2,T3,T4,T5,T6,T7,T8>", "(T1,T2,T3,T4,T5,T6,T7,T8)", "", "Argument[2]", "ReturnValue.Field[System.ValueTuple`8.Item3]", "value", "manual"]
|
||||
|
||||
@@ -14702,8 +14702,8 @@ summary
|
||||
| System.Net.Http;HttpRequestException;HttpRequestException;(System.String,System.Exception,System.Nullable<System.Net.HttpStatusCode>);Argument[2];Argument[this].Property[System.Net.Http.HttpRequestException.StatusCode];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated |
|
||||
@@ -23494,13 +23494,49 @@ summary
|
||||
| System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual |
|
||||
| System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual |
|
||||
| System;UriFormatException;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);Argument[this];Argument[0];taint;df-generated |
|
||||
| System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated |
|
||||
| System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated |
|
||||
|
||||
@@ -11329,8 +11329,8 @@
|
||||
| System.Net.Http;HttpRequestException;HttpRequestException;(System.String,System.Exception,System.Nullable<System.Net.HttpStatusCode>);Argument[2];Argument[this].Property[System.Net.Http.HttpRequestException.StatusCode];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[0];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.String);Argument[1];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];value;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[0];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);Argument[1];Argument[this];taint;manual |
|
||||
| System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._method];ReturnValue;taint;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;ToString;();Argument[this].SyntheticField[System.Net.Http.HttpRequestMessage._requestUri];ReturnValue;taint;dfc-generated |
|
||||
| System.Net.Http;HttpRequestMessage;get_Properties;();Argument[this].Property[System.Net.Http.HttpRequestMessage.Options];ReturnValue;value;dfc-generated |
|
||||
@@ -18150,13 +18150,49 @@
|
||||
| System;Uri;get_Query;();Argument[this];ReturnValue;taint;manual |
|
||||
| System;Uri;get_Scheme;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System;Uri;get_UserInfo;();Argument[this];ReturnValue;taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];taint;dfc-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this];taint;df-generated |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].SyntheticField[System.UriBuilder._uri];value;dfc-generated |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].SyntheticField[System.UriBuilder._uri];ReturnValue;value;dfc-generated |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;ToString;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[1];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[2];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[3];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);Argument[4];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Fragment];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Host];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Path];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Port];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Query];taint;manual |
|
||||
| System;UriBuilder;UriBuilder;(System.Uri);Argument[0];Argument[this].Property[System.UriBuilder.Scheme];taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Fragment];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Host];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Password];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Path];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Port];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Query];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.Scheme];ReturnValue;taint;manual |
|
||||
| System;UriBuilder;get_Uri;();Argument[this].Property[System.UriBuilder.UserName];ReturnValue;taint;manual |
|
||||
| System;UriParser;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);Argument[0];ReturnValue;taint;df-generated |
|
||||
| System;UriParser;OnNewUri;();Argument[this];ReturnValue;value;dfc-generated |
|
||||
| System;UriParser;Register;(System.UriParser,System.String,System.Int32);Argument[1];Argument[0];taint;df-generated |
|
||||
|
||||
@@ -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"
|
||||
run-code-checks:
|
||||
description: Whether to run formatting, code and qhelp generation checks
|
||||
required: false
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -477,6 +477,12 @@ func extractObjects(tw *trap.Writer, scope *types.Scope, scopeLabel trap.Label)
|
||||
}
|
||||
// Populate type parameter parents for named types.
|
||||
if typeNameObj, ok := obj.(*types.TypeName); ok {
|
||||
// `types.TypeName` represents a type with a name: a defined
|
||||
// type, an alias type, a type parameter, or a predeclared
|
||||
// type such as `int` or `error`. We can distinguish these
|
||||
// using `typeNameObj.Type()`, except that we need to be
|
||||
// careful with alias types because before Go 1.24 they would
|
||||
// return the underlying type.
|
||||
if tp, ok := typeNameObj.Type().(*types.Named); ok && !typeNameObj.IsAlias() {
|
||||
populateTypeParamParents(tp.TypeParams(), obj)
|
||||
} else if tp, ok := typeNameObj.Type().(*types.Alias); ok {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
module github.com/github/codeql-go/extractor
|
||||
|
||||
go 1.23
|
||||
go 1.24
|
||||
|
||||
toolchain go1.23.1
|
||||
toolchain go1.24.0
|
||||
|
||||
// when updating this, run
|
||||
// bazel run @rules_go//go -- mod tidy
|
||||
|
||||
@@ -193,7 +193,7 @@ func findGoModFiles(root string) []string {
|
||||
}
|
||||
|
||||
// A regular expression for the Go toolchain version syntax.
|
||||
var toolchainVersionRe *regexp.Regexp = regexp.MustCompile(`(?m)^([0-9]+\.[0-9]+\.[0-9]+)$`)
|
||||
var toolchainVersionRe *regexp.Regexp = regexp.MustCompile(`(?m)^([0-9]+\.[0-9]+(\.[0-9]+|rc[0-9]+))$`)
|
||||
|
||||
// Returns true if the `go.mod` file specifies a Go language version, that version is `1.21` or greater, and
|
||||
// there is no `toolchain` directive, and the Go language version is not a valid toolchain version.
|
||||
|
||||
5
go/ql/lib/change-notes/2025-01-09-model-stdlib-1.24.md
Normal file
5
go/ql/lib/change-notes/2025-01-09-model-stdlib-1.24.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* Taint models have been added for the `weak` package, which was added in Go 1.24.
|
||||
* Taint models have been added for the interfaces `TextAppender` and `BinaryAppender` in the `encoding` package, which were added in Go 1.24.
|
||||
@@ -3,7 +3,11 @@ extensions:
|
||||
pack: codeql/go-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["encoding", "BinaryAppender", True, "AppendBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "BinaryAppender", True, "AppendBinary", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "BinaryMarshaler", True, "MarshalBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "BinaryUnmarshaler", True, "UnmarshalBinary", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"]
|
||||
- ["encoding", "TextAppender", True, "AppendText", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "TextAppender", True, "AppendText", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "TextMarshaler", True, "MarshalText", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["encoding", "TextUnmarshaler", True, "UnmarshalText", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"]
|
||||
|
||||
7
go/ql/lib/ext/weak.model.yml
Normal file
7
go/ql/lib/ext/weak.model.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/go-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["weak", "", False, "Make", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
|
||||
- ["weak", "Pointer", False, "Value", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"]
|
||||
@@ -63,18 +63,62 @@ 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 | 1 | V | interface { } |
|
||||
| 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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
3
go/ql/test/library-tests/semmle/go/Types/go.mod
Normal file
3
go/ql/test/library-tests/semmle/go/Types/go.mod
Normal file
@@ -0,0 +1,3 @@
|
||||
module codeql-go-types
|
||||
|
||||
go 1.24
|
||||
@@ -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) {}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -1,8 +1,36 @@
|
||||
#select
|
||||
| test.go:81:13:81:29 | type conversion | test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value |
|
||||
| test.go:82:13:82:43 | type conversion | test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value |
|
||||
| test.go:86:13:86:30 | type conversion | test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:85:22:85:26 | &... | stored value |
|
||||
| test.go:90:13:90:30 | type conversion | test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:89:21:89:25 | &... | stored value |
|
||||
| test.go:95:13:95:37 | type conversion | test.go:95:20:95:36 | call to Value | test.go:95:13:95:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:95:20:95:36 | call to Value | stored value |
|
||||
| test.go:96:13:96:49 | type conversion | test.go:96:20:96:39 | call to RawValue | test.go:96:13:96:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:96:20:96:39 | call to RawValue | stored value |
|
||||
| test.go:97:13:97:38 | type conversion | test.go:97:20:97:37 | call to String | test.go:97:13:97:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:97:20:97:37 | call to String | stored value |
|
||||
| test.go:98:13:98:37 | type conversion | test.go:98:20:98:36 | call to Value | test.go:98:13:98:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:98:20:98:36 | call to Value | stored value |
|
||||
| test.go:99:13:99:49 | type conversion | test.go:99:20:99:39 | call to RawValue | test.go:99:13:99:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:99:20:99:39 | call to RawValue | stored value |
|
||||
| test.go:100:13:100:38 | type conversion | test.go:100:20:100:37 | call to String | test.go:100:13:100:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:100:20:100:37 | call to String | stored value |
|
||||
| test.go:101:13:101:38 | type conversion | test.go:101:20:101:37 | call to Value | test.go:101:13:101:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:101:20:101:37 | call to Value | stored value |
|
||||
| test.go:102:13:102:50 | type conversion | test.go:102:20:102:40 | call to RawValue | test.go:102:13:102:50 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:102:20:102:40 | call to RawValue | stored value |
|
||||
| test.go:103:13:103:39 | type conversion | test.go:103:20:103:38 | call to String | test.go:103:13:103:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:103:20:103:38 | call to String | stored value |
|
||||
| test.go:110:13:110:33 | type conversion | test.go:109:9:109:13 | &... | test.go:110:13:110:33 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:109:9:109:13 | &... | stored value |
|
||||
| test.go:114:13:114:29 | type conversion | test.go:113:9:113:12 | &... | test.go:114:13:114:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:113:9:113:12 | &... | stored value |
|
||||
| test.go:118:13:118:48 | type conversion | test.go:117:12:117:19 | &... | test.go:118:13:118:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:117:12:117:19 | &... | stored value |
|
||||
| test.go:122:13:122:43 | type conversion | test.go:121:16:121:24 | &... | test.go:122:13:122:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:121:16:121:24 | &... | stored value |
|
||||
| test.go:126:13:126:39 | type conversion | test.go:125:16:125:23 | &... | test.go:126:13:126:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:125:16:125:23 | &... | stored value |
|
||||
| test.go:130:13:130:47 | type conversion | test.go:129:15:129:24 | &... | test.go:130:13:130:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:129:15:129:24 | &... | stored value |
|
||||
| test.go:134:13:134:38 | type conversion | test.go:133:18:133:30 | &... | test.go:134:13:134:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:133:18:133:30 | &... | stored value |
|
||||
| test.go:141:13:141:48 | type conversion | test.go:140:12:140:19 | &... | test.go:141:13:141:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:140:12:140:19 | &... | stored value |
|
||||
| test.go:145:13:145:43 | type conversion | test.go:144:16:144:24 | &... | test.go:145:13:145:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:144:16:144:24 | &... | stored value |
|
||||
| test.go:149:13:149:39 | type conversion | test.go:148:16:148:23 | &... | test.go:149:13:149:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:148:16:148:23 | &... | stored value |
|
||||
| test.go:153:13:153:47 | type conversion | test.go:152:15:152:24 | &... | test.go:153:13:153:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:152:15:152:24 | &... | stored value |
|
||||
| test.go:157:13:157:38 | type conversion | test.go:156:18:156:30 | &... | test.go:157:13:157:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:156:18:156:30 | &... | stored value |
|
||||
| test.go:161:13:161:28 | type conversion | test.go:160:14:160:22 | &... | test.go:161:13:161:28 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:160:14:160:22 | &... | stored value |
|
||||
| test.go:165:13:165:32 | type conversion | test.go:164:15:164:24 | &... | test.go:165:13:165:32 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:164:15:164:24 | &... | stored value |
|
||||
edges
|
||||
| test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | provenance | Src:MaD:339 |
|
||||
| test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | provenance | Src:MaD:339 |
|
||||
| test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | provenance | Src:MaD:340 |
|
||||
| test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | provenance | Src:MaD:341 |
|
||||
| test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | provenance | Src:MaD:1 |
|
||||
| test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | provenance | Src:MaD:1 |
|
||||
| test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | provenance | Src:MaD:2 |
|
||||
| test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | provenance | Src:MaD:3 |
|
||||
| test.go:95:20:95:36 | call to Value | test.go:95:13:95:37 | type conversion | provenance | |
|
||||
| test.go:96:20:96:39 | call to RawValue | test.go:96:13:96:49 | type conversion | provenance | |
|
||||
| test.go:97:20:97:37 | call to String | test.go:97:13:97:38 | type conversion | provenance | |
|
||||
@@ -26,6 +54,10 @@ edges
|
||||
| test.go:156:18:156:30 | &... | test.go:157:13:157:38 | type conversion | provenance | |
|
||||
| test.go:160:14:160:22 | &... | test.go:161:13:161:28 | type conversion | provenance | |
|
||||
| test.go:164:15:164:24 | &... | test.go:165:13:165:32 | type conversion | provenance | |
|
||||
models
|
||||
| 1 | Source: group:beego-orm; Ormer; true; Read; ; ; Argument[0]; database; manual |
|
||||
| 2 | Source: group:beego-orm; Ormer; true; ReadForUpdate; ; ; Argument[0]; database; manual |
|
||||
| 3 | Source: group:beego-orm; Ormer; true; ReadOrCreate; ; ; Argument[0]; database; manual |
|
||||
nodes
|
||||
| test.go:80:13:80:16 | &... | semmle.label | &... |
|
||||
| test.go:81:13:81:29 | type conversion | semmle.label | type conversion |
|
||||
@@ -81,31 +113,3 @@ nodes
|
||||
| test.go:164:15:164:24 | &... | semmle.label | &... |
|
||||
| test.go:165:13:165:32 | type conversion | semmle.label | type conversion |
|
||||
subpaths
|
||||
#select
|
||||
| test.go:81:13:81:29 | type conversion | test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value |
|
||||
| test.go:82:13:82:43 | type conversion | test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value |
|
||||
| test.go:86:13:86:30 | type conversion | test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:85:22:85:26 | &... | stored value |
|
||||
| test.go:90:13:90:30 | type conversion | test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:89:21:89:25 | &... | stored value |
|
||||
| test.go:95:13:95:37 | type conversion | test.go:95:20:95:36 | call to Value | test.go:95:13:95:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:95:20:95:36 | call to Value | stored value |
|
||||
| test.go:96:13:96:49 | type conversion | test.go:96:20:96:39 | call to RawValue | test.go:96:13:96:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:96:20:96:39 | call to RawValue | stored value |
|
||||
| test.go:97:13:97:38 | type conversion | test.go:97:20:97:37 | call to String | test.go:97:13:97:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:97:20:97:37 | call to String | stored value |
|
||||
| test.go:98:13:98:37 | type conversion | test.go:98:20:98:36 | call to Value | test.go:98:13:98:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:98:20:98:36 | call to Value | stored value |
|
||||
| test.go:99:13:99:49 | type conversion | test.go:99:20:99:39 | call to RawValue | test.go:99:13:99:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:99:20:99:39 | call to RawValue | stored value |
|
||||
| test.go:100:13:100:38 | type conversion | test.go:100:20:100:37 | call to String | test.go:100:13:100:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:100:20:100:37 | call to String | stored value |
|
||||
| test.go:101:13:101:38 | type conversion | test.go:101:20:101:37 | call to Value | test.go:101:13:101:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:101:20:101:37 | call to Value | stored value |
|
||||
| test.go:102:13:102:50 | type conversion | test.go:102:20:102:40 | call to RawValue | test.go:102:13:102:50 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:102:20:102:40 | call to RawValue | stored value |
|
||||
| test.go:103:13:103:39 | type conversion | test.go:103:20:103:38 | call to String | test.go:103:13:103:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:103:20:103:38 | call to String | stored value |
|
||||
| test.go:110:13:110:33 | type conversion | test.go:109:9:109:13 | &... | test.go:110:13:110:33 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:109:9:109:13 | &... | stored value |
|
||||
| test.go:114:13:114:29 | type conversion | test.go:113:9:113:12 | &... | test.go:114:13:114:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:113:9:113:12 | &... | stored value |
|
||||
| test.go:118:13:118:48 | type conversion | test.go:117:12:117:19 | &... | test.go:118:13:118:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:117:12:117:19 | &... | stored value |
|
||||
| test.go:122:13:122:43 | type conversion | test.go:121:16:121:24 | &... | test.go:122:13:122:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:121:16:121:24 | &... | stored value |
|
||||
| test.go:126:13:126:39 | type conversion | test.go:125:16:125:23 | &... | test.go:126:13:126:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:125:16:125:23 | &... | stored value |
|
||||
| test.go:130:13:130:47 | type conversion | test.go:129:15:129:24 | &... | test.go:130:13:130:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:129:15:129:24 | &... | stored value |
|
||||
| test.go:134:13:134:38 | type conversion | test.go:133:18:133:30 | &... | test.go:134:13:134:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:133:18:133:30 | &... | stored value |
|
||||
| test.go:141:13:141:48 | type conversion | test.go:140:12:140:19 | &... | test.go:141:13:141:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:140:12:140:19 | &... | stored value |
|
||||
| test.go:145:13:145:43 | type conversion | test.go:144:16:144:24 | &... | test.go:145:13:145:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:144:16:144:24 | &... | stored value |
|
||||
| test.go:149:13:149:39 | type conversion | test.go:148:16:148:23 | &... | test.go:149:13:149:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:148:16:148:23 | &... | stored value |
|
||||
| test.go:153:13:153:47 | type conversion | test.go:152:15:152:24 | &... | test.go:153:13:153:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:152:15:152:24 | &... | stored value |
|
||||
| test.go:157:13:157:38 | type conversion | test.go:156:18:156:30 | &... | test.go:157:13:157:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:156:18:156:30 | &... | stored value |
|
||||
| test.go:161:13:161:28 | type conversion | test.go:160:14:160:22 | &... | test.go:161:13:161:28 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:160:14:160:22 | &... | stored value |
|
||||
| test.go:165:13:165:32 | type conversion | test.go:164:15:164:24 | &... | test.go:165:13:165:32 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:164:15:164:24 | &... | stored value |
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
Security/CWE-079/StoredXss.ql
|
||||
query: Security/CWE-079/StoredXss.ql
|
||||
postprocess: utils/test/PrettyPrintModels.ql
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Code generated by https://github.com/gagliardetto/codebox. DO NOT EDIT.
|
||||
|
||||
package main
|
||||
|
||||
import "encoding"
|
||||
@@ -30,6 +28,34 @@ func TaintStepTest_EncodingTextUnmarshalerUnmarshalText_B0I0O0(sourceCQL interfa
|
||||
return intoTextUnmarshaler443
|
||||
}
|
||||
|
||||
func TaintStepTest_EncodingBinaryAppenderAppendBinary_manual1(sourceCQL interface{}) interface{} {
|
||||
fromBinaryAppender := sourceCQL.(encoding.BinaryAppender)
|
||||
var arg0 []byte
|
||||
intoByte, _ := fromBinaryAppender.AppendBinary(arg0)
|
||||
return intoByte
|
||||
}
|
||||
|
||||
func TaintStepTest_EncodingBinaryAppenderAppendBinary_manual2(sourceCQL interface{}) interface{} {
|
||||
var recv encoding.BinaryAppender
|
||||
fromByteSlice := sourceCQL.([]byte)
|
||||
intoByte, _ := recv.AppendBinary(fromByteSlice)
|
||||
return intoByte
|
||||
}
|
||||
|
||||
func TaintStepTest_EncodingTextAppenderAppendText_manual1(sourceCQL interface{}) interface{} {
|
||||
fromTextAppender := sourceCQL.(encoding.TextAppender)
|
||||
var arg0 []byte
|
||||
intoByte, _ := fromTextAppender.AppendText(arg0)
|
||||
return intoByte
|
||||
}
|
||||
|
||||
func TaintStepTest_EncodingTextAppenderAppendText_manual2(sourceCQL interface{}) interface{} {
|
||||
var recv encoding.TextAppender
|
||||
fromByteSlice := sourceCQL.([]byte)
|
||||
intoByte, _ := recv.AppendText(fromByteSlice)
|
||||
return intoByte
|
||||
}
|
||||
|
||||
func RunAllTaints_Encoding() {
|
||||
{
|
||||
source := newSource(0)
|
||||
@@ -51,4 +77,24 @@ func RunAllTaints_Encoding() {
|
||||
out := TaintStepTest_EncodingTextUnmarshalerUnmarshalText_B0I0O0(source)
|
||||
sink(3, out)
|
||||
}
|
||||
{
|
||||
source := newSource(4)
|
||||
out := TaintStepTest_EncodingBinaryAppenderAppendBinary_manual1(source)
|
||||
sink(4, out)
|
||||
}
|
||||
{
|
||||
source := newSource(5)
|
||||
out := TaintStepTest_EncodingBinaryAppenderAppendBinary_manual2(source)
|
||||
sink(5, out)
|
||||
}
|
||||
{
|
||||
source := newSource(6)
|
||||
out := TaintStepTest_EncodingTextAppenderAppendText_manual1(source)
|
||||
sink(6, out)
|
||||
}
|
||||
{
|
||||
source := newSource(7)
|
||||
out := TaintStepTest_EncodingTextAppenderAppendText_manual2(source)
|
||||
sink(7, out)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package main
|
||||
|
||||
import "weak"
|
||||
|
||||
func TaintStepTest_WeakMake_manual(sourceCQL interface{}) interface{} {
|
||||
fromStringPointer := sourceCQL.(*string)
|
||||
intoWeakPointer := weak.Make(fromStringPointer)
|
||||
return intoWeakPointer
|
||||
}
|
||||
func TaintStepTest_WeakValue_manual(sourceCQL interface{}) interface{} {
|
||||
fromWeakPointer := sourceCQL.(weak.Pointer[string])
|
||||
intoStringPointer := fromWeakPointer.Value()
|
||||
return intoStringPointer
|
||||
}
|
||||
|
||||
func RunAllTaints_Weak() {
|
||||
{
|
||||
source := newSource(0)
|
||||
out := TaintStepTest_WeakMake_manual(source)
|
||||
sink(0, out)
|
||||
}
|
||||
{
|
||||
source := newSource(1)
|
||||
out := TaintStepTest_WeakValue_manual(source)
|
||||
sink(1, out)
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
module example.com/m
|
||||
|
||||
go 1.23
|
||||
go 1.24
|
||||
|
||||
require (
|
||||
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
| duplicates.js:6:33:6:56 | functio ... up2b){} | This function has a duplicate dependency $@. | duplicates.js:6:24:6:30 | 'dup2a' | dup2a |
|
||||
| duplicates.js:7:33:7:56 | functio ... up3b){} | This function has a duplicate dependency $@. | duplicates.js:7:24:7:30 | 'dup3b' | dup3b |
|
||||
| duplicates.js:8:43:8:78 | functio ... up4C){} | This function has a duplicate dependency $@. | duplicates.js:8:35:8:40 | 'dup4' | dup4 |
|
||||
| duplicates.js:15:35:15:112 | functio ... } | This function has a duplicate dependency $@. | duplicates.js:15:25:15:32 | 'dup11a' | dup11a |
|
||||
| duplicates.js:15:35:15:113 | functio ... } | This function has a duplicate dependency $@. | duplicates.js:15:25:15:32 | 'dup11a' | dup11a |
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
AngularJS/DuplicateDependency.ql
|
||||
query: AngularJS/DuplicateDependency.ql
|
||||
postprocess: utils/test/InlineExpectationsTestQuery.ql
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
(function(){
|
||||
function f(){}
|
||||
f.$inject = ['dup5', 'dup5']; // NOT OK
|
||||
function f(){} // $ Alert
|
||||
f.$inject = ['dup5', 'dup5'];
|
||||
angular.module('myModule', [])
|
||||
.run(['dup1a', 'dup1a', function(dup1a, dup1a){}]) // OK (flagged by js/duplicate-parameter-name)
|
||||
.run(['dup2a', 'dup2a', function(dup2a, dup2b){}]) // NOT OK
|
||||
.run(['dup3b', 'dup3b', function(dup3a, dup3b){}]) // NOT OK
|
||||
.run(['dup4', 'notDup4A', 'dup4', function(notDup4B, dup4, notDup4C){}]) // NOT OK
|
||||
.run(['dup1a', 'dup1a', function(dup1a, dup1a){}]) // OK - flagged by js/duplicate-parameter-name
|
||||
.run(['dup2a', 'dup2a', function(dup2a, dup2b){}]) // $ Alert
|
||||
.run(['dup3b', 'dup3b', function(dup3a, dup3b){}]) // $ Alert
|
||||
.run(['dup4', 'notDup4A', 'dup4', function(notDup4B, dup4, notDup4C){}]) // $ Alert
|
||||
.run(f)
|
||||
.run(function(dup6, dup6){})// OK (flagged by js/duplicate-parameter-name)
|
||||
.run(function(notDup7a, notDup7b){}) // OK
|
||||
.run(['notDup8a', 'notDup8b', function(notDup8a, notDup8b){}]) // OK
|
||||
.run(['notDup9a', 'notDup9b', function(notDup9c, notDup9d){}]) // OK
|
||||
.run(['dup10a', 'dup10a', 'dup10a', function(dup10a, dup10a, dup10a){}]) // OK (flagged by js/duplicate-parameter-name)
|
||||
.run(['dup11a', 'dup11a', function(dup11a, dup11b){ // NOT OK (alert formatting for multi-line function)
|
||||
.run(function(dup6, dup6){})// OK - flagged by js/duplicate-parameter-name
|
||||
.run(function(notDup7a, notDup7b){})
|
||||
.run(['notDup8a', 'notDup8b', function(notDup8a, notDup8b){}])
|
||||
.run(['notDup9a', 'notDup9b', function(notDup9c, notDup9d){}])
|
||||
.run(['dup10a', 'dup10a', 'dup10a', function(dup10a, dup10a, dup10a){}]) // OK - flagged by js/duplicate-parameter-name
|
||||
.run(['dup11a', 'dup11a', function(dup11a, dup11b){ // $ Alert - alert formatting for multi-line function
|
||||
}])
|
||||
;
|
||||
})();
|
||||
|
||||
@@ -11,13 +11,6 @@ extensions:
|
||||
- ["lang:core", "crate::iter::traits::iterator::Iterator::nth", "Argument[self].Element", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "manual"]
|
||||
- ["lang:core", "crate::iter::traits::iterator::Iterator::collect", "Argument[self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
# Option
|
||||
- ["lang:core", "<crate::option::Option>::unwrap", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or", "Argument[0]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_default", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_else", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_unchecked", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
- ["lang:core", "<crate::option::Option>::expect", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "manual"]
|
||||
# Result
|
||||
- ["lang:core", "<crate::result::Result>::unwrap", "Argument[self].Variant[crate::result::Result::Ok(0)]", "ReturnValue", "value", "manual"]
|
||||
|
||||
65
rust/ql/lib/ext/generated/option/lang__core.model.yml
Normal file
65
rust/ql/lib/ext/generated/option/lang__core.model.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/rust-all
|
||||
extensible: summaryModel
|
||||
data:
|
||||
- ["lang:core", "<crate::option::Option as crate::clone::Clone>::clone", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option as crate::convert::From>::from", "Argument[0].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option as crate::convert::From>::from", "Argument[0]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::and", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::and_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::and_then", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::as_mut", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::as_ref", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::cloned", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::copied", "Argument[self].Variant[crate::option::Option::Some(0)].Reference", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::flatten", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::get_or_insert", "Argument[0]", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::get_or_insert", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::get_or_insert", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::get_or_insert_default", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::get_or_insert_with", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::insert", "Argument[0]", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::insert", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::insert", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::inspect", "Argument[self]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::is_none_or", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::is_none_or", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::is_some_and", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::is_some_and", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map", "Argument[0].ReturnValue", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or_else", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::map_or_else", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::ok_or", "Argument[0]", "ReturnValue.Variant[crate::result::Result::Err(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::ok_or", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::result::Result::Ok(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::ok_or_else", "Argument[0].ReturnValue", "ReturnValue.Variant[crate::result::Result::Err(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::ok_or_else", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::result::Result::Ok(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::or", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::or", "Argument[self]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::or_else", "Argument[self]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::take_if", "Argument[self].Reference.Variant[crate::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::transpose", "Argument[self].Variant[crate::option::Option::Some(0)].Variant[crate::result::Result::Err(0)]", "ReturnValue.Variant[crate::result::Result::Err(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::transpose", "Argument[self].Variant[crate::option::Option::Some(0)].Variant[crate::result::Result::Ok(0)]", "ReturnValue.Variant[crate::result::Result::Ok(0)].Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_default", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_or_else", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unwrap_unchecked", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unzip", "Argument[self].Variant[crate::option::Option::Some(0)].Tuple[0]", "ReturnValue.Tuple[0].Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::unzip", "Argument[self].Variant[crate::option::Option::Some(0)].Tuple[1]", "ReturnValue.Tuple[1].Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::xor", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::xor", "Argument[self]", "ReturnValue", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::zip", "Argument[0].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)].Tuple[1]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::zip", "Argument[self].Variant[crate::option::Option::Some(0)]", "ReturnValue.Variant[crate::option::Option::Some(0)].Tuple[0]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::zip_with", "Argument[0].Variant[crate::option::Option::Some(0)]", "Argument[1].Parameter[1]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::zip_with", "Argument[1].ReturnValue", "ReturnValue.Variant[crate::option::Option::Some(0)]", "value", "dfc-generated"]
|
||||
- ["lang:core", "<crate::option::Option>::zip_with", "Argument[self].Variant[crate::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"]
|
||||
@@ -1,7 +1,8 @@
|
||||
models
|
||||
| 1 | Summary: lang:core; <crate::option::Option as crate::clone::Clone>::clone; Argument[self].Variant[crate::option::Option::Some(0)]; ReturnValue.Variant[crate::option::Option::Some(0)]; value |
|
||||
| 2 | Summary: lang:core; <crate::option::Option>::unwrap; Argument[self].Variant[crate::option::Option::Some(0)]; ReturnValue; value |
|
||||
| 3 | Summary: lang:core; <crate::result::Result>::unwrap; Argument[self].Variant[crate::result::Result::Ok(0)]; ReturnValue; value |
|
||||
| 3 | Summary: lang:core; <crate::option::Option>::zip; Argument[0].Variant[crate::option::Option::Some(0)]; ReturnValue.Variant[crate::option::Option::Some(0)].Tuple[1]; value |
|
||||
| 4 | Summary: lang:core; <crate::result::Result>::unwrap; Argument[self].Variant[crate::result::Result::Ok(0)]; ReturnValue; value |
|
||||
edges
|
||||
| main.rs:13:9:13:9 | a [Some] | main.rs:14:10:14:10 | a [Some] | provenance | |
|
||||
| main.rs:13:9:13:9 | a [Some] | main.rs:15:13:15:13 | a [Some] | provenance | |
|
||||
@@ -16,11 +17,11 @@ edges
|
||||
| main.rs:20:9:20:9 | a [Ok] | main.rs:22:13:22:13 | a [Ok] | provenance | |
|
||||
| main.rs:20:31:20:44 | Ok(...) [Ok] | main.rs:20:9:20:9 | a [Ok] | provenance | |
|
||||
| main.rs:20:34:20:43 | source(...) | main.rs:20:31:20:44 | Ok(...) [Ok] | provenance | |
|
||||
| main.rs:21:10:21:10 | a [Ok] | main.rs:21:10:21:19 | a.unwrap(...) | provenance | MaD:3 |
|
||||
| main.rs:21:10:21:10 | a [Ok] | main.rs:21:10:21:19 | a.unwrap(...) | provenance | MaD:4 |
|
||||
| main.rs:22:9:22:9 | b [Ok] | main.rs:23:10:23:10 | b [Ok] | provenance | |
|
||||
| main.rs:22:13:22:13 | a [Ok] | main.rs:22:13:22:21 | a.clone(...) [Ok] | provenance | |
|
||||
| main.rs:22:13:22:21 | a.clone(...) [Ok] | main.rs:22:9:22:9 | b [Ok] | provenance | |
|
||||
| main.rs:23:10:23:10 | b [Ok] | main.rs:23:10:23:19 | b.unwrap(...) | provenance | MaD:3 |
|
||||
| main.rs:23:10:23:10 | b [Ok] | main.rs:23:10:23:19 | b.unwrap(...) | provenance | MaD:4 |
|
||||
| main.rs:27:9:27:9 | a | main.rs:28:10:28:10 | a | provenance | |
|
||||
| main.rs:27:9:27:9 | a | main.rs:29:13:29:13 | a | provenance | |
|
||||
| main.rs:27:13:27:22 | source(...) | main.rs:27:9:27:9 | a | provenance | |
|
||||
@@ -40,6 +41,16 @@ edges
|
||||
| main.rs:47:15:47:15 | u [Wrapper] | main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | main.rs:48:26:48:26 | n | provenance | |
|
||||
| main.rs:48:26:48:26 | n | main.rs:48:38:48:38 | n | provenance | |
|
||||
| main.rs:59:13:59:13 | b [Some] | main.rs:60:23:60:23 | b [Some] | provenance | |
|
||||
| main.rs:59:17:59:32 | Some(...) [Some] | main.rs:59:13:59:13 | b [Some] | provenance | |
|
||||
| main.rs:59:22:59:31 | source(...) | main.rs:59:17:59:32 | Some(...) [Some] | provenance | |
|
||||
| main.rs:60:13:60:13 | z [Some, tuple.1] | main.rs:61:15:61:15 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | main.rs:60:13:60:13 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:60:23:60:23 | b [Some] | main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | provenance | MaD:3 |
|
||||
| main.rs:61:15:61:15 | z [Some, tuple.1] | main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | provenance | |
|
||||
| main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | main.rs:62:18:62:23 | TuplePat [tuple.1] | provenance | |
|
||||
| main.rs:62:18:62:23 | TuplePat [tuple.1] | main.rs:62:22:62:22 | m | provenance | |
|
||||
| main.rs:62:22:62:22 | m | main.rs:64:22:64:22 | m | provenance | |
|
||||
nodes
|
||||
| main.rs:13:9:13:9 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:13:13:13:28 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
@@ -82,6 +93,17 @@ nodes
|
||||
| main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:48:26:48:26 | n | semmle.label | n |
|
||||
| main.rs:48:38:48:38 | n | semmle.label | n |
|
||||
| main.rs:59:13:59:13 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:59:17:59:32 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:59:22:59:31 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:60:13:60:13 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | semmle.label | a.zip(...) [Some, tuple.1] |
|
||||
| main.rs:60:23:60:23 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:61:15:61:15 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | semmle.label | Some(...) [Some, tuple.1] |
|
||||
| main.rs:62:18:62:23 | TuplePat [tuple.1] | semmle.label | TuplePat [tuple.1] |
|
||||
| main.rs:62:22:62:22 | m | semmle.label | m |
|
||||
| main.rs:64:22:64:22 | m | semmle.label | m |
|
||||
subpaths
|
||||
testFailures
|
||||
#select
|
||||
@@ -93,3 +115,4 @@ testFailures
|
||||
| main.rs:30:10:30:10 | b | main.rs:27:13:27:22 | source(...) | main.rs:30:10:30:10 | b | $@ | main.rs:27:13:27:22 | source(...) | source(...) |
|
||||
| main.rs:44:38:44:38 | n | main.rs:42:30:42:39 | source(...) | main.rs:44:38:44:38 | n | $@ | main.rs:42:30:42:39 | source(...) | source(...) |
|
||||
| main.rs:48:38:48:38 | n | main.rs:42:30:42:39 | source(...) | main.rs:48:38:48:38 | n | $@ | main.rs:42:30:42:39 | source(...) | source(...) |
|
||||
| main.rs:64:22:64:22 | m | main.rs:59:22:59:31 | source(...) | main.rs:64:22:64:22 | m | $@ | main.rs:59:22:59:31 | source(...) | source(...) |
|
||||
|
||||
@@ -50,6 +50,30 @@ mod my_clone {
|
||||
}
|
||||
}
|
||||
|
||||
mod flow_through_option {
|
||||
use super::{source, sink};
|
||||
// Test the auto generated flow summaries for `Option`
|
||||
|
||||
fn zip_flow() {
|
||||
let a = Some(2);
|
||||
let b = Some(source(38));
|
||||
let z = a.zip(b);
|
||||
match z {
|
||||
Some((n, m)) => {
|
||||
sink(n);
|
||||
sink(m); // $ hasValueFlow=38
|
||||
},
|
||||
None => ()
|
||||
}
|
||||
}
|
||||
|
||||
fn higher_order_flow() {
|
||||
let a = Some(0);
|
||||
let b = a.map_or(3, |n| n + source(63));
|
||||
sink(b); // $ hasTaintFlow=63
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
option_clone();
|
||||
result_clone();
|
||||
|
||||
@@ -643,12 +643,103 @@ module TestPostProcessing {
|
||||
|
||||
module Make<InlineExpectationsTestSig Input, InputSig<Input> Input2> {
|
||||
private import InlineExpectationsTest as InlineExpectationsTest
|
||||
private import InlineExpectationsTest::Make<Input>
|
||||
|
||||
bindingset[loc]
|
||||
private predicate parseLocationString(
|
||||
string loc, string relativePath, int sl, int sc, int el, int ec
|
||||
) {
|
||||
relativePath = loc.splitAt(":", 0) and
|
||||
sl = loc.splitAt(":", 1).toInt() and
|
||||
sc = loc.splitAt(":", 2).toInt() and
|
||||
el = loc.splitAt(":", 3).toInt() and
|
||||
ec = loc.splitAt(":", 4).toInt()
|
||||
}
|
||||
|
||||
pragma[nomagic]
|
||||
private string getRelativePathTo(string absolutePath) {
|
||||
exists(Input::Location loc |
|
||||
loc.hasLocationInfo(absolutePath, _, _, _, _) and
|
||||
parseLocationString(Input2::getRelativeUrl(loc), result, _, _, _, _)
|
||||
)
|
||||
}
|
||||
|
||||
private newtype TTestLocation =
|
||||
MkInputLocation(Input::Location loc) or
|
||||
MkResultLocation(string relativePath, int sl, int sc, int el, int ec) {
|
||||
exists(string data |
|
||||
queryResults(_, _, _, data) and
|
||||
parseLocationString(data, relativePath, sl, sc, el, ec) and
|
||||
not Input2::getRelativeUrl(_) = data // avoid duplicate locations
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* A location that is either an `Input::Location` or a location from an alert.
|
||||
*
|
||||
* We use this location type to support queries that select a location that does not correspond
|
||||
* to an instance of `Input::Location`.
|
||||
*/
|
||||
abstract private class TestLocationImpl extends TTestLocation {
|
||||
string getAbsoluteFile() { this.hasLocationInfo(result, _, _, _, _) }
|
||||
|
||||
int getStartLine() { this.hasLocationInfo(_, result, _, _, _) }
|
||||
|
||||
int getStartColumn() { this.hasLocationInfo(_, _, result, _, _) }
|
||||
|
||||
int getEndLine() { this.hasLocationInfo(_, _, _, result, _) }
|
||||
|
||||
int getEndColumn() { this.hasLocationInfo(_, _, _, _, result) }
|
||||
|
||||
abstract string getRelativeUrl();
|
||||
|
||||
final string toString() { result = this.getRelativeUrl() }
|
||||
|
||||
abstract predicate hasLocationInfo(string file, int sl, int sc, int el, int ec);
|
||||
}
|
||||
|
||||
private class LocationFromResult extends TestLocationImpl, MkResultLocation {
|
||||
override string getRelativeUrl() {
|
||||
exists(string file, int sl, int sc, int el, int ec |
|
||||
this = MkResultLocation(file, sl, sc, el, ec) and
|
||||
result = file + ":" + sl + ":" + sc + ":" + el + ":" + ec
|
||||
)
|
||||
}
|
||||
|
||||
override predicate hasLocationInfo(string file, int sl, int sc, int el, int ec) {
|
||||
this = MkResultLocation(getRelativePathTo(file), sl, sc, el, ec)
|
||||
}
|
||||
}
|
||||
|
||||
private class LocationFromInput extends TestLocationImpl, MkInputLocation {
|
||||
private Input::Location loc;
|
||||
|
||||
LocationFromInput() { this = MkInputLocation(loc) }
|
||||
|
||||
override string getRelativeUrl() { result = Input2::getRelativeUrl(loc) }
|
||||
|
||||
override predicate hasLocationInfo(string file, int sl, int sc, int el, int ec) {
|
||||
loc.hasLocationInfo(file, sl, sc, el, ec)
|
||||
}
|
||||
}
|
||||
|
||||
final class TestLocation = TestLocationImpl;
|
||||
|
||||
module TestImpl2 implements InlineExpectationsTestSig {
|
||||
final class Location = TestLocation;
|
||||
|
||||
final private class ExpectationCommentFinal = Input::ExpectationComment;
|
||||
|
||||
class ExpectationComment extends ExpectationCommentFinal {
|
||||
Location getLocation() { result = MkInputLocation(super.getLocation()) }
|
||||
}
|
||||
}
|
||||
|
||||
private import InlineExpectationsTest::Make<TestImpl2>
|
||||
|
||||
/** Holds if the given locations refer to the same lines, but possibly with different column numbers. */
|
||||
bindingset[loc1, loc2]
|
||||
pragma[inline_late]
|
||||
private predicate sameLineInfo(Input::Location loc1, Input::Location loc2) {
|
||||
private predicate sameLineInfo(TestLocation loc1, TestLocation loc2) {
|
||||
exists(string file, int line1, int line2 |
|
||||
loc1.hasLocationInfo(file, line1, _, line2, _) and
|
||||
loc2.hasLocationInfo(file, line1, _, line2, _)
|
||||
@@ -656,8 +747,8 @@ module TestPostProcessing {
|
||||
}
|
||||
|
||||
pragma[nomagic]
|
||||
private predicate mainQueryResult(int row, int column, Input::Location loc) {
|
||||
queryResults(mainResultSet(), row, column, Input2::getRelativeUrl(loc))
|
||||
private predicate mainQueryResult(int row, int column, TestLocation loc) {
|
||||
queryResults(mainResultSet(), row, column, loc.getRelativeUrl())
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -668,7 +759,7 @@ module TestPostProcessing {
|
||||
*/
|
||||
private string getSourceTag(int row) {
|
||||
getQueryKind() = "path-problem" and
|
||||
exists(Input::Location sourceLoc, Input::Location selectLoc |
|
||||
exists(TestLocation sourceLoc, TestLocation selectLoc |
|
||||
mainQueryResult(row, 0, selectLoc) and
|
||||
mainQueryResult(row, 2, sourceLoc) and
|
||||
if sameLineInfo(selectLoc, sourceLoc) then result = "Alert" else result = "Source"
|
||||
@@ -733,7 +824,7 @@ module TestPostProcessing {
|
||||
}
|
||||
|
||||
additional predicate hasPathProblemSource(
|
||||
int row, Input::Location location, string element, string tag, string value
|
||||
int row, TestLocation location, string element, string tag, string value
|
||||
) {
|
||||
getQueryKind() = "path-problem" and
|
||||
mainQueryResult(row, 2, location) and
|
||||
@@ -742,7 +833,7 @@ module TestPostProcessing {
|
||||
value = ""
|
||||
}
|
||||
|
||||
predicate hasActualResult(Input::Location location, string element, string tag, string value) {
|
||||
predicate hasActualResult(TestLocation location, string element, string tag, string value) {
|
||||
hasPathProblemSource(_, location, element, tag, value)
|
||||
}
|
||||
}
|
||||
@@ -770,7 +861,7 @@ module TestPostProcessing {
|
||||
private predicate hasPathProblemSource = PathProblemSourceTestInput::hasPathProblemSource/5;
|
||||
|
||||
private predicate hasPathProblemSink(
|
||||
int row, Input::Location location, string element, string tag
|
||||
int row, TestLocation location, string element, string tag
|
||||
) {
|
||||
getQueryKind() = "path-problem" and
|
||||
mainQueryResult(row, 4, location) and
|
||||
@@ -778,7 +869,7 @@ module TestPostProcessing {
|
||||
tag = getSinkTag(row)
|
||||
}
|
||||
|
||||
private predicate hasAlert(int row, Input::Location location, string element, string tag) {
|
||||
private predicate hasAlert(int row, TestLocation location, string element, string tag) {
|
||||
getQueryKind() = ["problem", "path-problem"] and
|
||||
mainQueryResult(row, 0, location) and
|
||||
queryResults(mainResultSet(), row, 2, element) and
|
||||
@@ -793,7 +884,7 @@ module TestPostProcessing {
|
||||
* present).
|
||||
*/
|
||||
private string getValue(int row) {
|
||||
exists(Input::Location location, string element, string tag, string val |
|
||||
exists(TestLocation location, string element, string tag, string val |
|
||||
hasPathProblemSource(row, location, element, tag, val) and
|
||||
result =
|
||||
PathProblemSourceTest::getAMatchingExpectation(location, element, tag, val, false)
|
||||
@@ -801,7 +892,7 @@ module TestPostProcessing {
|
||||
)
|
||||
}
|
||||
|
||||
predicate hasActualResult(Input::Location location, string element, string tag, string value) {
|
||||
predicate hasActualResult(TestLocation location, string element, string tag, string value) {
|
||||
exists(int row |
|
||||
hasPathProblemSource(row, location, element, tag, _)
|
||||
or
|
||||
@@ -840,7 +931,7 @@ module TestPostProcessing {
|
||||
rankedTestFailures(row, f) and
|
||||
f = MkTestFailure(fl, message)
|
||||
|
|
||||
column = 0 and data = Input2::getRelativeUrl(fl.getLocation())
|
||||
column = 0 and data = fl.getLocation().getRelativeUrl()
|
||||
or
|
||||
column = 1 and data = fl.toString()
|
||||
or
|
||||
|
||||
Reference in New Issue
Block a user