internal static object EvaluateAssign(CodeContext context, Variable var, object value) { switch (var.Kind) { case Variable.VariableKind.Temporary: case Variable.VariableKind.GeneratorTemporary: context.Scope.TemporaryStorage[var] = value; break; case Variable.VariableKind.Global: RuntimeHelpers.SetGlobalName(context, var.Name, value); break; default: RuntimeHelpers.SetName(context, var.Name, value); break; } return(value); }