Generic types in the Type field currently don't have type parameters. It may be desirable to retain that information and use it to fill those parameters where feasible. For example, currently it gets emitted as:
[Calls(Type = typeof(Dictionary<,>), Member = "TryGetValue")]
But it would be more enlightening if it was emitted as:
[Calls(Type = typeof(Dictionary<string, Texture2D>), Member = "TryGetValue")]
Note about edge cases:
If any of the type parameters are inaccessible from the annotated method, it should fall back to the current format.
Similarly, if any of the type parameters are missing or ambiguous, it should also fall back to the current format.
This may involve recursion, i.e. for Dictionary<string, List<GameObject>>.
If the generic type is not accessible to the annotated method, TypeFullName should not include the type parameters.
Generic types in the Type field currently don't have type parameters. It may be desirable to retain that information and use it to fill those parameters where feasible. For example, currently it gets emitted as:
But it would be more enlightening if it was emitted as:
Note about edge cases:
Dictionary<string, List<GameObject>>
.TypeFullName
should not include the type parameters.