If I knew I would tell you but sadly I don't. Right now Netbeans doesn't work with JDK 18 so I can't test anything with my active projects. I can try creating dummy projects to poke and prod, but this seems to be an issue with projects that are actually reasonably complex.

In my case, the classes that have this issue span class, package, module, and project bounds(e.g. org.bar.Foo1.java is used in org.bar.Foo2.java), are used as parameters and generics, and are extended/implemented. My guess it's some combination of these things that's causing it.


As for the editor bugging out, literally no clue. It used to be extremely common for me up until the performance patches years ago. A restart always fixes it. Not something I'm personally worried about anymore since it's so rare.


On 7/2/21 2:08 PM, Geertjan Wielenga wrote:
What are some steps to reproduce so that this can be fixed?

Gj

On Fri, 2 Jul 2021 at 18:36, Ty Young <youngty1...@gmail.com <mailto:youngty1...@gmail.com>> wrote:

    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