Skip to content

[Wrong code in release] PatchHelper / GetInstructions #57

@themaoci

Description

@themaoci

Hello i found a bug in PatchHelper.GetInstructions

its suposed to return Instruction[] and anyway no matter how hard i tried it was always returnign me an exception that i cannot cast IList to Instruction[]

so my quick workaround was to edit it from this code below

public Instruction[] GetInstructions(Target target)
{
	TypeDef type = this.FindType(target.Namespace + "." + target.Class, target.NestedClasses);
	MethodDef methodDef = this.FindMethod(type, target.Method, target.Parameters, target.ReturnType);
	return (Instruction[])methodDef.Body.Instructions;
}

into this one

public Instruction[] GetInstructions(Target target)
{
	TypeDef type = this.FindType(target.Namespace + "." + target.Class, target.NestedClasses);
	IEnumerator<Instruction> enumerator = this.FindMethod(type, target.Method, target.Parameters, target.ReturnType).Body.Instructions.GetEnumerator();
	List<Instruction> list = new List<Instruction>();
	while (enumerator.MoveNext())
	{
		Instruction item = enumerator.Current;
		list.Add(item);
	}
	return list.ToArray();
}

if someone of you have some time please apply it to new release THANKS :) it will deffenetly help others
Hope you guys are doing well!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions