IEnumerable<LocalVariable> GetLocalVariablesInScope(ISymUnmanagedScope symScope) { foreach (ISymUnmanagedVariable symVar in symScope.Locals) { yield return GetLocalVariable(symVar); } foreach(ISymUnmanagedScope childScope in symScope.Children) { foreach(LocalVariable var in GetLocalVariablesInScope(childScope)) { yield return var; } } }
public ISymUnmanagedScope GetScopeFromOffset(uint offset) { return(ISymUnmanagedScope.Wrap(this.WrappedObject.GetScopeFromOffset(offset))); }
public override bool Equals(object o) { ISymUnmanagedScope casted = o as ISymUnmanagedScope; return((casted != null) && (casted.WrappedObject == wrappedObject)); }
List<ISymUnmanagedVariable> GetLocalVariablesInScope(ISymUnmanagedScope symScope) { List<ISymUnmanagedVariable> vars = new List<ISymUnmanagedVariable>(); foreach (ISymUnmanagedVariable symVar in symScope.Locals) { if (!symVar.Name.StartsWith("CS$")) { // TODO: Generalize vars.Add(symVar); } } foreach(ISymUnmanagedScope childScope in symScope.Children) { vars.AddRange(GetLocalVariablesInScope(childScope)); } return vars; }