示例#1
0
/*
 *      internal ITER Iter
 *      {
 *          get { return (ITER)iter.Peek();}
 *      }
 */
        // Locals
        internal RVarmap DynaPush()
        {
            RVarmap vars = dyna_vars;

            dvar_push(0, null);
            lvtbl.dlev++;
            return(vars);
        }
示例#2
0
        internal object DVarRef(uint id)
        {
            RVarmap vars = dyna_vars;

            while (vars != null)
            {
                if (vars.id == id)
                {
                    return(vars.val);
                }
                vars = vars.next;
            }
            return(null);
        }
示例#3
0
        internal bool dvar_defined(uint id)
        {
            RVarmap vars = dyna_vars;

            while (vars != null)
            {
                if (vars.id == id)
                {
                    return(true);
                }
                vars = vars.next;
            }
            return(false);
        }
示例#4
0
        internal bool dvar_curr(uint id)
        {
            RVarmap vars = dyna_vars;

            while (vars != null)
            {
                if (vars.id == 0)
                {
                    break;
                }
                if (vars.id == id)
                {
                    return(true);
                }
                vars = vars.next;
            }
            return(false);
        }
示例#5
0
        private void DVarAsgn(uint id, object val, bool curr)
        {
            RVarmap vars = dyna_vars;

            while (vars != null)
            {
                if (curr && vars.id == id)
                {
                    vars.val = val;
                    return;
                }
                vars = vars.next;
            }
            if (dyna_vars == null)
            {
                dyna_vars = new_dvar(id, val, null);
            }
            else
            {
                vars           = new_dvar(id, val, dyna_vars.next);
                dyna_vars.next = vars;
            }
        }
示例#6
0
        internal RVarmap new_dvar(uint id, object value, RVarmap prev)
        {
            RVarmap vars = new RVarmap(ruby, id, value, prev);

            return(vars);
        }
示例#7
0
 internal void DynaPop(RVarmap vars)
 {
     lvtbl.dlev--;
     dyna_vars = vars;
 }