Skip to content

Commit

Permalink
override一个泛型父类时的处理
Browse files Browse the repository at this point in the history
  • Loading branch information
chexiongsheng committed Mar 20, 2018
1 parent 64b28a6 commit 5debef8
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion Assets/XLua/Src/Editor/Hotfix.cs
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 648,25 @@ static MethodReference findBase(TypeDefinition type, MethodDefinition method)
var m = findOverride(tbase, method);
if (m != null)
{
return m;
if (type.BaseType.IsGenericInstance)
{
//(type.BaseType as GenericInstanceType).GenericArguments
var reference = new MethodReference(m.Name, m.ReturnType, type.BaseType)
{
HasThis = m.HasThis,
ExplicitThis = m.ExplicitThis,
CallingConvention = m.CallingConvention
};
foreach (var parameter in m.Parameters)
reference.Parameters.Add(new ParameterDefinition(parameter.ParameterType));
foreach (var generic_parameter in m.GenericParameters)
reference.GenericParameters.Add(new GenericParameter(generic_parameter.Name, reference));
return reference;
}
else
{
return m;
}
}
tbase = tbase.BaseType.Resolve();
}
Expand Down
Binary file modified Tools/XLuaHotfixInject.exe
Binary file not shown.
Binary file modified Tools/XLuaHotfixInject.pdb
Binary file not shown.

0 comments on commit 5debef8

Please sign in to comment.