diff --git a/Upsilon/Evaluator/EvaluationScope.cs b/Upsilon/Evaluator/EvaluationScope.cs index 7cd6504..51b1b97 100644 --- a/Upsilon/Evaluator/EvaluationScope.cs +++ b/Upsilon/Evaluator/EvaluationScope.cs @@ -40,17 +40,20 @@ namespace Upsilon.Evaluator public void AssignToNearest(VariableSymbol symbol, ScriptType value) { - if (Variables.ContainsKey(symbol.Name)) + lock (Variables) { - Variables[symbol.Name] = value; - } - else if (ParentScope != null) - { - ParentScope.AssignToNearest(symbol, value); - } - else - { - Variables.Add(symbol.Name, value); + if (Variables.ContainsKey(symbol.Name)) + { + Variables[symbol.Name] = value; + } + else if (ParentScope != null) + { + ParentScope.AssignToNearest(symbol, value); + } + else + { + Variables.Add(symbol.Name, value); + } } }