DebuggerScriptResultList ZipWith(string[] args) { string func = args[0]; DebuggerScriptResultList newResults = new DebuggerScriptResultList(); DebuggerScriptResultList[] inputResults; int minResults; GetInputResultsForZip(args, 1, out inputResults, out minResults); for (int resultIndex = 0; resultIndex < minResults; ++resultIndex) { string[] formatArgs = new string[inputResults.Count()]; for (int inputIndex = 0; inputIndex < inputResults.Count(); ++inputIndex) { formatArgs[inputIndex] = "(" + inputResults[inputIndex].GetResults()[resultIndex].Expression + ")"; } int sourceIndex = 0; if (inputResults.Count() > 0) { sourceIndex = inputResults[0].GetResults()[resultIndex].Index; } string exprString = string.Format(func, formatArgs); newResults.Add(exprString, exprString, sourceIndex); } return(newResults); }
public DebuggerScriptResultList GetVariable(string name) { ThreadHelper.ThrowIfNotOnUIThread(); DebuggerScriptResultList results = new DebuggerScriptResultList(); results.Add(name, name, 0); return(results); }
public DebuggerScriptResultList Rename(string name) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { newResults.Add(name, result.Expression, result.Index); } return(newResults); }
public DebuggerScriptResultList RenameWithIndex(string name) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { newResults.Add(string.Format("{0}[{1}]", name, result.Index), result.Expression, result.Index); } return(newResults); }
public DebuggerScriptResultList Pointer() { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { newResults.Add(PointerString(result.Name), PointerString(result.Expression), result.Index); } return(newResults); }
public DebuggerScriptResultList Reference() { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { newResults.Add(ReferenceString(result.Name), ReferenceString(result.Expression), result.Index); } return(newResults); }
public DebuggerScriptResultList Cast(string newType) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { newResults.Add(CastString(newType, result.Name), CastString(newType, result.Expression), result.Index); } return(newResults); }
public DebuggerScriptResultList Members(params string[] memberNames) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { foreach (string member in memberNames) { newResults.Add("(" + result.Name + ")" + member, "(" + result.Expression + ")" + member, result.Index); } } return(newResults); }
public DebuggerScriptResultList ArrayRange(int firstIndex, int count) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { for (int i = 0; i < count; ++i) { newResults.Add("(" + result.Name + ")[" + (firstIndex + i) + "]", "(" + result.Expression + ")[" + (firstIndex + i) + "]", firstIndex + i); } } return(newResults); }
public DebuggerScriptResultList FilterNotString(string filter, string ExpectedValue, EnvDTE.Debugger debugger) { ThreadHelper.ThrowIfNotOnUIThread(); DebuggerScriptResultList newResults = new DebuggerScriptResultList(); foreach (var result in Results) { var expr = debugger.GetExpression(string.Format(filter, "(" + result.Expression + ")"), true); if (expr != null && ExtractString(expr.Value) != ExpectedValue) { newResults.Add(result.Name, result.Expression, result.Index); } } return(newResults); }
public DebuggerScriptResultList Fold(string op) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); if (Results.Count >= 1) { string name = Results[0].Name; string expr = Results[0].Expression; for (int resultIndex = 1; resultIndex < Results.Count; ++resultIndex) { name = string.Format(op, name, Results[resultIndex].Name); expr = string.Format(op, expr, Results[resultIndex].Expression); } newResults.Add(name, expr, 0); } return(newResults); }
DebuggerScriptResultList Zip(string[] args) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); DebuggerScriptResultList[] inputResults; int minResults; GetInputResultsForZip(args, 0, out inputResults, out minResults); for (int resultIndex = 0; resultIndex < minResults; ++resultIndex) { for (int inputIndex = 0; inputIndex < inputResults.Count(); ++inputIndex) { string exprString = inputResults[inputIndex].GetResults()[resultIndex].Expression; string nameString = inputResults[inputIndex].GetResults()[resultIndex].Name; newResults.Add(exprString, nameString, inputResults[inputIndex].GetResults()[resultIndex].Index); } } return(newResults); }
DebuggerScriptResultList Concat(string[] args) { DebuggerScriptResultList newResults = new DebuggerScriptResultList(); for (int inputIndex = 0; inputIndex < args.Count(); ++inputIndex) { if (!SavedResults.ContainsKey(args[inputIndex])) { throw new Exception(String.Format("Using unknown variable {0}", args[inputIndex])); } var inputResults = SavedResults[args[inputIndex]]; for (int resultIndex = 0; resultIndex < inputResults.GetResults().Count(); ++resultIndex) { string exprString = inputResults.GetResults()[resultIndex].Expression; string nameString = inputResults.GetResults()[resultIndex].Name; newResults.Add(exprString, nameString, inputResults.GetResults()[resultIndex].Index); } } return(newResults); }