I reported refactoring issues here more than a year(2?) ago. While someone did respond and provided a fix, it seems like the "fix" was just to suppress the issue(exceptions) and not fix the issue itself. Refactoring on Netbeans is completely and utterly broken and has been for a **VERY** long time now.

Along with the editor completely bugging out by highlighting errors that don't actually exist and import/code completion breaking. A multi-threading bug, maybe? But I digress.


On 7/2/21 9:51 AM, Marvin P. Warble Jr. wrote:

In all versions of Netbeans > 12.0, I regularly experience several different problems when trying to refactor code. Anyone else running into these issues?

1.When moving a class, NB will scramble the import statements of classes that depend on the moved class.

2.When moving a class, NB will throw the following exception:

java.lang.NullPointerException: Cannot invoke "java.util.Collection.contains(Object)" because "sourceFiles" is null

at com.sun.tools.javac.comp.Todo.retainFiles(Todo.java:98)

at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:727)

at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.toPhase(CompilationInfoImpl.java:399)

at org.netbeans.api.java.source.CompilationController.toPhase(CompilationController.java:88)

at org.netbeans.api.java.source.WorkingCopy.toPhase(WorkingCopy.java:193)

at org.netbeans.modules.refactoring.java.spi.RefactoringVisitor.setWorkingCopy(RefactoringVisitor.java:111)

at org.netbeans.modules.refactoring.java.plugins.MoveTransformer.setWorkingCopy(MoveTransformer.java:74)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$TransformTask.run(JavaRefactoringPlugin.java:435)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$TransformTask.run(JavaRefactoringPlugin.java:418)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.lambda$processFiles$0(JavaRefactoringPlugin.java:323)

at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:673)

at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:663)

at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:502)

at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)

at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:166)

at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:138)

at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)

at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)

at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)

at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)

at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)

at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)

at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)

at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83)

at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:452)

at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:423)

at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java:684)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:321)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:264)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:246)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAddElements(JavaRefactoringPlugin.java:336)

at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAddElements(JavaRefactoringPlugin.java:352)

at org.netbeans.modules.refactoring.java.plugins.MoveFileRefactoringPlugin.prepare(MoveFileRefactoringPlugin.java:571)

at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:417)

at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:401)

at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:212)

at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(ParametersPanel.java:1063)

at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)

at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)

at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)

at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

3. When renaming a class, NB will sometimes rename the file, but fail to rename the actual class.

The refactoring problems are making development quite difficult.

Reply via email to