コード例 #1
0
ファイル: Namespace.cs プロジェクト: ajlopez/AjSharpure
        public void SetVariable(Variable variable)
        {
            if (!Utilities.Equals(variable.Namespace, this.name))
                throw new InvalidOperationException("Variable belongs to another namespace");

            if (this.variables.ContainsKey(variable.Name))
                throw new InvalidOperationException(string.Format("Variable {0} already exists in namespace", variable.FullName));

            this.variables[variable.Name] = variable;
        }
コード例 #2
0
ファイル: Variable.cs プロジェクト: ajlopez/AjSharpure
        public static Variable Intern(Machine machine, string ns, string name)
        {
            if (string.IsNullOrEmpty(ns))
                throw new InvalidOperationException("Variable has no namespace");

            Variable variable = machine.GetVariable(ns, name);

            if (variable != null)
                return variable;

            variable = new Variable(ns, name);

            machine.SetVariable(variable);

            return variable;
        }
コード例 #3
0
 public VariableExpression(Variable variable)
 {
     this.variable = variable;
 }
コード例 #4
0
ファイル: Machine.cs プロジェクト: ajlopez/AjSharpure
        public void SetVariableValue(Variable variable, object value)
        {
            Namespace ns = this.GetNamespace(variable.Namespace);
            Variable var = ns.GetVariable(variable.Name);

            if (var == null)
                ns.SetVariable(variable);

            ns.SetValue(variable.Name, value);
        }
コード例 #5
0
ファイル: Machine.cs プロジェクト: ajlopez/AjSharpure
 public void SetVariable(Variable variable)
 {
     Namespace ns = this.GetNamespace(variable.Namespace);
     ns.SetVariable(variable);
 }
コード例 #6
0
ファイル: Machine.cs プロジェクト: ajlopez/AjSharpure
 public object GetVariableValue(Variable variable)
 {
     return this.GetVariableValue(variable.Namespace, variable.Name);
 }
コード例 #7
0
ファイル: Machine.cs プロジェクト: ajlopez/AjSharpure
 public Variable GetVariable(Variable variable)
 {
     return this.GetVariable(variable.Namespace, variable.Name);
 }