Update FishNet
This commit is contained in:
@@ -111,18 +111,9 @@ namespace FishNet.CodeGenerating.Extension
|
||||
|
||||
foreach (ParameterDefinition pd in otherMd.Parameters)
|
||||
{
|
||||
session.ImportReference(pd.ParameterType.CachedResolve(session));
|
||||
int currentCount = thisMd.Parameters.Count;
|
||||
string name = pd.Name + currentCount;
|
||||
ParameterDefinition parameterDef = new(name, pd.Attributes, pd.ParameterType);
|
||||
// Set any default values.
|
||||
parameterDef.Constant = pd.Constant;
|
||||
parameterDef.IsReturnValue = pd.IsReturnValue;
|
||||
parameterDef.IsOut = pd.IsOut;
|
||||
foreach (CustomAttribute item in pd.CustomAttributes)
|
||||
parameterDef.CustomAttributes.Add(item);
|
||||
parameterDef.HasConstant = pd.HasConstant;
|
||||
parameterDef.HasDefault = pd.HasDefault;
|
||||
ParameterDefinition parameterDef = pd.CloneImported(session, thisMd, name);
|
||||
|
||||
if (parameterDef == null || thisMd.Parameters == null)
|
||||
{
|
||||
@@ -156,17 +147,14 @@ namespace FishNet.CodeGenerating.Extension
|
||||
DeclaringType = git,
|
||||
CallingConvention = md.CallingConvention
|
||||
};
|
||||
|
||||
foreach (ParameterDefinition pd in md.Parameters)
|
||||
{
|
||||
session.ImportReference(pd.ParameterType);
|
||||
result.Parameters.Add(pd);
|
||||
}
|
||||
result.Parameters.Add(pd.CloneImported(session, result));
|
||||
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
return methodRef;
|
||||
}
|
||||
|
||||
return methodRef;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -206,13 +194,13 @@ namespace FishNet.CodeGenerating.Extension
|
||||
|
||||
public static MethodDefinition CreateCopy(this MethodDefinition copiedMd, CodegenSession session, string nameOverride = null, MethodAttributes? attributesOverride = null)
|
||||
{
|
||||
session.ImportReference(copiedMd.ReturnType);
|
||||
TypeReference returnType = session.ImportReference(copiedMd.ReturnType);
|
||||
|
||||
MethodAttributes attr = attributesOverride.HasValue ? attributesOverride.Value : copiedMd.Attributes;
|
||||
string name = nameOverride == null ? copiedMd.Name : nameOverride;
|
||||
MethodDefinition result = new(name, attr, copiedMd.ReturnType);
|
||||
MethodDefinition result = new(name, attr, returnType);
|
||||
foreach (GenericParameter item in copiedMd.GenericParameters)
|
||||
result.GenericParameters.Add(item);
|
||||
result.GenericParameters.Add(new(item.Name, result) { Attributes = item.Attributes });
|
||||
|
||||
result.CreateParameters(session, copiedMd);
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user