/// <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); }
/// <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 }); }
/// <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; }