public Variable Put(string name, ParserRuleContext tree, VariableRole role) { Variable variable = new Variable(name, tree, role); CheckConflicts(variable, Namespace(variables)); variables.Add(name, variable); return(variable); }
/// <summary> /// Allow user to add a new variable in the function /// </summary> /// <param name="name">Name of the declared variable</param> /// <param name="definition">Definition of the variable</param> /// <param name="role">Variable role in the function</param> /// <returns>Declaration of the variable</returns> public Variable SetVariableAs(string name, VariableRole role) { Variable real = (Variable)scope.Find(name, AccessMode.EXTERNAL); if (role == VariableRole.PARAMETER) { this.parameters.Add(real); } else if (role == VariableRole.RETURN) { this.returns.Add(real); } return(real); }
public Variable(string name, ParserRuleContext sourceNode, VariableRole role) { Name = name; SourceLocation = sourceNode; Role = role; }