private static XsILGenerator CreateLocal(this XsILGenerator generator, string localName, Type localType, bool pinned) { var data = GeneratorExtraData.GetOrCreateValue(generator); if (data.Locals.ContainsKey(localName)) { throw new InvalidOperationException("Local with the name `" + localName + "` already declared"); } var local = generator.DeclareLocal(localType, pinned); data.Locals.Add(localName, local); return(generator); }