private void CreateGeneratorTemps(EnvironmentFactory ef, CodeGen cg) { for (int i = 0; i < tempsCount; i++) { cg.Names.AddTempSlot(ef.MakeEnvironmentReference(Name.Make("temp$" + i)).CreateSlot(cg.EnvironmentSlot)); } }
public EnvironmentReference GetOrMakeReference(Name name, Type type) { EnvironmentReference er; if (!references.TryGetValue(name, out er)) { er = factory.MakeEnvironmentReference(name, type); references[name] = er; } else { Debug.Assert(er.ReferenceType.IsAssignableFrom(type)); } return(er); }