/**
         * Returns the matching value, or null.
         */
        public Var get(StringValue key)
        {
            Var var = _extMap.get(key);

            if (var == null)
            {
                int id = _intMap.get(key);

                if (id >= 0 && _values[id] != null)
                {
                    var = new Var();
                    // var.setGlobal();

                    _extMap.put(key, var);

                    Env env = Env.getCurrent();

                    Value value = _values[id].copy(env);

                    var.set(value);
                }
            }

            return(var);
        }
예제 #2
0
        private int addGlobalName(StringValue name)
        {
            int id = _globalNameMap.get(name);

            if (id >= 0)
            {
                return(id);
            }

            id = _globalNameMap.size();
            _globalNameMap.put(name, id);

            return(id);
        }
예제 #3
0
        private int addStaticName(StringValue name)
        {
            int id = _staticNameMap.get(name);

            if (id >= 0)
            {
                return(id);
            }

            id = _staticNameMap.size();
            _staticNameMap.put(name, id);

            return(id);
        }