public IILLocal DeclareLocal(Type type, string name, bool pinned = false)
{
var localBuilder = _ilGenerator.DeclareLocal(type, pinned);
if (name == null)
{
name = "local" + localBuilder.LocalIndex;
}
localBuilder.SetLocalSymInfo(name);
_sourceCodeWriter.WriteLine(string.Format("{3}{0} {1} // index {2}", type.ToSimpleName(), name, localBuilder.LocalIndex, pinned ? "pinned " : ""));
return(new ILLocalImpl(localBuilder, name));
}