public IILMethod DefineMethod(string name, Type returns, Type[] parameters, MethodAttributes methodAttributes = MethodAttributes.Public)
{
CloseInScope();
_sourceCodeWriter.StartMethod(name, returns, parameters, methodAttributes);
var methodBuilder = _typeBuilder.DefineMethod(name, methodAttributes, returns, parameters);
for (int i = 0; i < parameters.Length; i++)
{
methodBuilder.DefineParameter(i + 1, ParameterAttributes.In, $"arg{i}");
}
return(new ILMethodDebugImpl(methodBuilder, _sourceCodeWriter, name, returns, parameters, _forbidenInstructions));
}