Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 public Variable(string name, ParserRuleContext sourceNode, VariableRole role)
 {
     Name           = name;
     SourceLocation = sourceNode;
     Role           = role;
 }