Is refactoring affected by whether you use nb-javac or not?

On 02.07.21 16:56, Geertjan Wielenga wrote:
Just tried moving a Java class, no problems at all, using 12.4 on JDK 16.0.1 on Mac OSX.

GJ

On Fri, Jul 2, 2021 at 4:51 PM Marvin P. Warble Jr. <mwar...@corvusengineering.com.invalid> 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.

--
------------------------------------------------------------------------
Software Ingenieur Martin Meeser
Tel: +49 (0) 157 3434 0354
mail: martin.mee...@softwareing.de
www.softwareing.de <www.softwareing.de>

Reply via email to