Skip to content

[Wrong code in release] PatchHelper / GetInstructions #57

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!!!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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