Exemple #1
0
        /// <summary>
        /// Gets index of variable within the context.
        /// </summary>
        public int GetVarIndex(VariableName name)
        {
            Debug.Assert(!name.IsEmpty());

            int index;

            if (!_varsIndex.TryGetValue(name, out index))
            {
                lock (_varsType)
                {
                    index = _varsType.Length;
                    Array.Resize(ref _varsType, index + 1);
                }

                _varsIndex[name] = index;
            }

            return(index);
        }
Exemple #2
0
        /// <summary>
        /// Gets index of variable within the context.
        /// </summary>
        public VariableHandle GetVarIndex(VariableName name)
        {
            Debug.Assert(!name.IsEmpty());

            int index;

            if (!_varsIndex.TryGetValue(name, out index))
            {
                lock (_varsType)
                {
                    index = _varsType.Length;
                    Array.Resize(ref _varsType, index + 1);
                }

                _varsIndex[name] = index;
            }

            //
            return(new VariableHandle()
            {
                Slot = index, Name = name
            });
        }
Exemple #3
0
        /// <summary>
        /// Gets index of variable within the context.
        /// </summary>
        public int GetVarIndex(VariableName name)
        {
            Debug.Assert(!name.IsEmpty());

            int index;
            if (!_varsIndex.TryGetValue(name, out index))
            {
                lock (_varsType)
                {
                    index = _varsType.Length;
                    Array.Resize(ref _varsType, index + 1);
                }

                _varsIndex[name] = index;
            }

            return index;
        }