/// <summary> /// Returns the corresponding assignable object /// </summary> /// <returns>the assignable object</returns> public object GetAssignableObject() { var variable = ParentInterpreter.FindVariable(Expression._name.ToString()); if (variable == null) { ParentInterpreter.ChangeState(this, new AlgorithmInterpreterStateEventArgs(new Error(new VariableNotFoundException(Expression._name.ToString()), Expression), ParentInterpreter.GetDebugInfo())); return(null); } if (DebugMode) { ParentInterpreter.Log(this, "Value of the variable '{0}' is {1}", variable.Name, variable.Value == null ? "{null}" : $"'{variable.Value}' (type:{variable.Value.GetType().FullName})"); } return(variable); }