public Local GetLocalWithValue(Type type, Compiler.Local fromValue) { if (fromValue != null) { if (fromValue.Type == type) return fromValue.AsCopy(); // otherwise, load onto the stack and let the default handling (below) deal with it LoadValue(fromValue); if (!type.IsValueType && (fromValue.Type == null || !type.IsAssignableFrom(fromValue.Type))) { // need to cast Cast(type); } } // need to store the value from the stack Local result = new Local(this, type); StoreValue(result); return result; }
public Local GetLocalWithValue(Type type, Compiler.Local fromValue) { if (fromValue != null) { return fromValue.AsCopy(); } // need to store the value from the stack Local result = new Local(this, type); StoreValue(result); return result; }