Exemplo n.º 1
0
        public object GetLocalVariableIndex(int typeToken, int memberToken, string name)
        {
            if (DebugInformation == null || !DebugInformation.ContainsKey(typeToken))
            {
                return(null);
            }

            var externalData = DebugInformation[typeToken];
            IEnumerable <ILVariable> list;

            if (externalData.LocalVariables.TryGetValue(memberToken, out list))
            {
                foreach (var local in list)
                {
                    if (local.IsParameter)
                    {
                        continue;
                    }
                    if (local.Name == name)
                    {
                        return new[] { local.OriginalVariable.Index }
                    }
                    ;
                }
            }

            return(null);
        }
Exemplo n.º 2
0
        public IEnumerable <string> GetLocalVariables(int typeToken, int memberToken)
        {
            if (DebugInformation == null || !DebugInformation.ContainsKey(typeToken))
            {
                yield break;
            }

            var externalData = DebugInformation[typeToken];
            IEnumerable <ILVariable> list;

            if (externalData.LocalVariables.TryGetValue(memberToken, out list))
            {
                foreach (var local in list)
                {
                    if (local.IsParameter)
                    {
                        continue;
                    }
                    if (string.IsNullOrEmpty(local.Name))
                    {
                        continue;
                    }
                    yield return(local.Name);
                }
            }
        }