mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
2.7 KiB
2.7 KiB
0.8.3
Minor Analysis Improvements
- The predicate
UnboundGeneric::getNamenow prints the number of type parameters as a`Nsuffix, instead of a<,...,>suffix. For example, the unbound generic typeSystem.Collections.Generic.IList<T>is printed asIList`1instead ofIList<>. - The predicates
hasQualifiedName,getQualifiedName, andgetQualifiedNameWithTypeshave been deprecated, and are instead replaced byhasFullyQualifiedName,getFullyQualifiedName, andgetFullyQualifiedNameWithTypes, respectively. The new predicates use the same format for unbound generic types as mentioned above. - These changes also affect models-as-data rows that refer to a field or a property belonging to a generic type. For example, instead of writing
extensions:
- addsTo:
pack: codeql/csharp-all
extensible: summaryModel
data:
- ["System.Collections.Generic", "Dictionary<TKey,TValue>", False, "Add", "(System.Collections.Generic.KeyValuePair<TKey,TValue>)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key]", "value", "manual"]
one now writes
extensions:
- addsTo:
pack: codeql/csharp-all
extensible: summaryModel
data:
- ["System.Collections.Generic", "Dictionary<TKey,TValue>", False, "Add", "(System.Collections.Generic.KeyValuePair<TKey,TValue>)", "", "Argument[0].Property[System.Collections.Generic.KeyValuePair`2.Key]", "Argument[this].Element.Property[System.Collections.Generic.KeyValuePair`2.Key]", "value", "manual"]
- The models-as-data format for types and methods with type parameters has been changed to include the names of the type parameters. For example, instead of writing
extensions:
- addsTo:
pack: codeql/csharp-all
extensible: summaryModel
data:
- ["System.Collections.Generic", "IList<>", True, "Insert", "(System.Int32,T)", "", "Argument[1]", "Argument[this].Element", "value", "manual"]
- ["System.Linq", "Enumerable", False, "Select<,>", "(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Int32,TResult>)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "manual"]
one now writes
extensions:
- addsTo:
pack: codeql/csharp-all
extensible: summaryModel
data:
- ["System.Collections.Generic", "IList<T>", True, "Insert", "(System.Int32,T)", "", "Argument[1]", "Argument[this].Element", "value", "manual"]
- ["System.Linq", "Enumerable", False, "Select<TSource,TResult>", "(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,System.Int32,TResult>)", "", "Argument[0].Element", "Argument[1].Parameter[0]", "value", "manual"]