Recache types when borrowing

This commit is contained in:
Sinai 2022-04-22 21:04:23 +10:00
parent abf5267364
commit 7e5246cead

View File

@ -7,20 +7,21 @@ namespace UnityExplorer.UI.Widgets
{
public class GenericArgumentHandler : BaseArgumentHandler
{
private Type genericType;
private Type genericArgument;
public void OnBorrowed(Type genericConstraint)
public void OnBorrowed(Type genericArgument)
{
this.genericType = genericConstraint;
this.genericArgument = genericArgument;
typeCompleter.Enabled = true;
typeCompleter.BaseType = genericType;
typeCompleter.CacheTypes();
typeCompleter.BaseType = this.genericArgument;
Type[] constraints = genericType.GetGenericParameterConstraints();
Type[] constraints = this.genericArgument.GetGenericParameterConstraints();
typeCompleter.GenericConstraints = constraints;
StringBuilder sb = new($"<color={SignatureHighlighter.CONST}>{genericType.Name}</color>");
typeCompleter.CacheTypes();
StringBuilder sb = new($"<color={SignatureHighlighter.CONST}>{this.genericArgument.Name}</color>");
for (int j = 0; j < constraints.Length; j++)
{
@ -38,7 +39,7 @@ namespace UnityExplorer.UI.Widgets
public void OnReturned()
{
this.genericType = null;
this.genericArgument = null;
this.typeCompleter.Enabled = false;