Exemple #1
0
        public IDisposable PushArguments(VarDefinitionStmt[] arguments, Value[] values)
        {
            var scopePopper = PushScope();

            try
            {
                for (var i = 0; i < arguments.Length; i++)
                {
                    _scope.DefineIdentifier(arguments[i].Name.Name, values[i]);
                }
            }
            catch (Exception)
            {
                scopePopper.Dispose();
                throw;
            }

            return scopePopper;
        }
Exemple #2
0
 public Value(Value value)
 {
     _value = value._value;
     _type = value._type;
 }
Exemple #3
0
 private Identifier(bool unused)
     : this()
 {
     _isDefined = false;
     _value = null;
 }
Exemple #4
0
 public Identifier(Value value)
 {
     _value = value;
     _isDefined = true;
 }
Exemple #5
0
 public void DefineIdentifier(string name, Value value)
 {
     _scope.DefineIdentifier(name, value);
 }
Exemple #6
0
            public void DefineIdentifier(string name, Value value)
            {
                if (_values.ContainsKey(name))
                    throw new IdentifierAlreadyDefinedException(name);

                _values.Add(name, new Identifier(value));
            }