private void fIXToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Line line in errorLines) { if (line.type == "variable") { Refactorer.FixVariableDecleration(lineList, line); } else if (line.type == "method") { Refactorer.FixMethodDecleration(lineList, line); } else if (line.type == "class") { Refactorer.FixClassDecleration(lineList, line); } } NrichTextBox.Clear(); foreach (Line line in lineList) { NrichTextBox.AppendText(line.text + "\n"); } }
protected override void Run(object data) { Document doc = IdeApp.Workbench.ActiveDocument; if (doc == null || doc.FileName == FilePath.Null || IdeApp.ProjectOperations.CurrentSelectedSolution == null) { return; } ITextBuffer editor = doc.GetContent <ITextBuffer> (); if (editor == null) { return; } int line, column; editor.GetLineColumnFromPosition(editor.CursorPosition, out line, out column); ProjectDom ctx = doc.Dom; ResolveResult resolveResult; INode item; CurrentRefactoryOperationsHandler.GetItem(ctx, doc, editor, out resolveResult, out item); IMember eitem = resolveResult != null ? (resolveResult.CallingMember ?? resolveResult.CallingType) : null; string itemName = null; if (item is IMember) { itemName = ((IMember)item).Name; } if (item != null && eitem != null && (eitem.Equals(item) || (eitem.Name == itemName && !(eitem is IProperty) && !(eitem is IField) && !(eitem is IMethod)))) { item = eitem; eitem = null; } IType eclass = null; if (item is IType) { if (((IType)item).ClassType == ClassType.Interface) { eclass = CurrentRefactoryOperationsHandler.FindEnclosingClass(ctx, editor.Name, line, column); } else { eclass = (IType)item; } if (eitem is IMethod && ((IMethod)eitem).IsConstructor && eitem.DeclaringType.Equals(item)) { item = eitem; eitem = null; } } Refactorer refactorer = new Refactorer(ctx, doc.CompilationUnit, eclass, item, null); refactorer.GoToDeclaration(); }
private void BackgroundErrorTracer_DoWork(object sender, DoWorkEventArgs e) { try { foreach (Line line in LineCollection.lineList) { if (line.type == "variable") { if (!Refactorer.CheckVariableDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// variable decleration error!"; errorLine.type = "variable"; if (!errorLines.Contains(errorLine)) { errorLines.Add(errorLine); } } } else if (line.type == "method") { if (!Refactorer.CheckMethodDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// method decleration error!"; errorLine.type = "method"; if (!errorLines.Contains(errorLine)) { errorLines.Add(errorLine); } } } else if (line.type == "class") { if (!Refactorer.CheckClassDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// Class decleration error!"; errorLine.type = "class"; if (!errorLines.Contains(errorLine)) { errorLines.Add(errorLine); } } } } } catch (Exception ex) { } }
public void FindReferences() { IMember member = widget.ActiveMember; if (member == null) { return; } ProjectDom dom = ProjectDomService.GetProjectDom(IdeApp.ProjectOperations.CurrentSelectedProject); if (dom == null) { return; } Refactorer refactorer = new Refactorer(dom, null, null, member, null); refactorer.FindReferences(); }
private void NrichTextBox_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { Line line = new Line(); line.lineNumber = (NrichTextBox.Lines.Length - 1); line.text = NrichTextBox.Lines[NrichTextBox.Lines.Length - 2]; if (TokenGenerator.IsVariableDecleration(line.text)) { line.type = "variable"; } else if (TokenGenerator.IsMethodDecleration(line.text)) { line.type = "method"; } else if (TokenGenerator.IsClassDecleration(line.text)) { line.type = "class"; } else { line.type = "none"; } lineList.Add(line); NrichTextBox.SelectionStart = NrichTextBox.TextLength; } if (e.KeyCode == Keys.Delete) { foreach (Line line in lineList) { if (line.type == "variable") { if (!Refactorer.CheckVariableDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// variable decleration error!"; errorLine.type = "variable"; errorLines.Add(errorLine); } } else if (line.type == "method") { if (!Refactorer.CheckMethodDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// method decleration error!"; errorLine.type = "method"; errorLines.Add(errorLine); } } else if (line.type == "class") { if (!Refactorer.CheckClassDecleration(line.text)) { Line errorLine = new Line(); errorLine.lineNumber = line.lineNumber; errorLine.text = "// Class decleration error!"; errorLine.type = "class"; errorLines.Add(errorLine); } } } foreach (Line line in errorLines) { ErrorLog.AppendText(line.lineNumber + " -> " + line.text + "\r\n"); } } }