Esempio n. 1
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 5
0
        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");
                }
            }
        }