If what you’re saying is that you have no problem when using nb-javac, while you do have a problem when not using nb-javac, then you’ve learned for yourself why it makes sense to use nb-javac.
Gj On Monday, August 6, 2018, Patrik Karlström <[email protected]> wrote: > Den sön 5 aug. 2018 kl 20:45 skrev Geertjan Wielenga > <[email protected]>: > > > For me that works fine too without a problem. If you provide step by step > > instructions from beginning to end of what one must do to see the problem > > you describe, that will help. > > > > Gj > > > > > Well, I followed your steps and it failed. :) > > That made me poking around a bit and it looks to me that it is related to > nbjavac. > The steps I take in order to reproduce it, or not, is to start netbeans > with java 10 and with/without a user profile containing nbjavac. > #Fails > /usr/local/netbeans-9.0/bin/netbeans --jdkhome /usr/lib/jvm/java-10-jdk/ > --userdir /tmp/nb-with-nbjavac > #Is ok > /usr/local/netbeans-9.0/bin/netbeans --jdkhome /usr/lib/jvm/java-10-jdk/ > --userdir /tmp/nb-without-nbjavac > > Since I'm normally on java 8 I also have nbjavac installed and therefor > always have this problem. > > public class FailingRenameWithNbJavac { > > public static void main(String[] args) { > new FailingRenameWithNbJavac(); > } > > public FailingRenameWithNbJavac() { > //The error does not happen without the line below being present. > sayHello("world"); > } > > private void sayHello(String name) { > System.out.println("hello " + name); > } > } > > > After the first rename from sayHello to sayBye there is an editor hint on > the calling line in the constructor saying: > cannot find symbol > symbol: method sayBye(String) > location: class FailingRenameWithNbJavac > ---- > (Alt-Enter shows hints) > > After the second attempt, renaming sayBye to sayWhat in the unsaved file I > get the message and the output below. > > On Java 10 however, the error message ("Cannot refactor this object") is > readable as a dialog, as opposed to the Java 8 unreadable message ("Cannot > perform instant rename here") in the status bar. > > INFO [org.netbeans.modules.bugtracking.BugtrackingManager]: Loading stored > repositories took 178 millis. > INFO [org.netbeans.api.java.source.ElementHandle]: Resolved type is null > for kind = CLASS > INFO [org.netbeans.api.java.source.ElementHandle]: Cannot resolve: > ElementHandle[kind=CLASS; sigs=FailingRenameWithNbJavac$sayBye ] > INFO [org.netbeans.api.java.source.TreePathHandle]: Cannot resolve: > TreePathHandle[delegate:TreeDelegate[kind:IDENTIFIER, > enclosingElement:ElementHandle[kind=CONSTRUCTOR; > sigs=FailingRenameWithNbJavac <init> ()V ], > file:/home/pata/git/java/JavaApplication1/src/ > FailingRenameWithNbJavac.java@a9c89905 > :6398fe27]] > INFO [org.netbeans.modules.refactoring.java.ui. > RefactoringActionsProvider]: > doRename: TreePathHandle[delegate:TreeDelegate[kind:IDENTIFIER, > enclosingElement:ElementHandle[kind=CONSTRUCTOR; > sigs=FailingRenameWithNbJavac <init> ()V ], > file:/home/pata/git/java/JavaApplication1/src/ > FailingRenameWithNbJavac.java@a9c89905 > :6398fe27]] > java.lang.NullPointerException: selected > at > org.netbeans.modules.refactoring.java.ui.RenameRefactoringUI$2.create( > RenameRefactoringUI.java:424) > at > org.netbeans.modules.refactoring.java.ui.ContextAnalyzer$1. > createRefactoringUI(ContextAnalyzer.java:94) > at > org.netbeans.modules.refactoring.java.ui.ContextAnalyzer$ > TextComponentTask.run(ContextAnalyzer.java:355) > at > org.netbeans.modules.refactoring.java.ui.ContextAnalyzer$ > TextComponentTask.run(ContextAnalyzer.java:280) > at > org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:501) > at > org.netbeans.modules.parsing.impl.TaskProcessor. > callUserTask(TaskProcessor.java:586) > at > org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run( > ParserManager.java:130) > at > org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run( > ParserManager.java:114) > 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:81) > at > org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl( > JavaSource.java:451) > at > org.netbeans.api.java.source.JavaSource.runUserActionTask( > JavaSource.java:422) > at > org.netbeans.modules.refactoring.java.ui.ContextAnalyzer$ > TextComponentTask.run(ContextAnalyzer.java:362) > at > org.netbeans.modules.refactoring.java.ui.UIUtilities.lambda$ > runWhenScanFinished$0(UIUtilities.java:1186) > at > org.netbeans.api.java.source.ui.ScanDialog.runWhenScanFinished( > ScanDialog.java:133) > at > org.netbeans.modules.refactoring.java.ui.UIUtilities.runWhenScanFinished( > UIUtilities.java:1181) > at > org.netbeans.modules.refactoring.java.ui.RefactoringActionsProvider. > doFullRename(RefactoringActionsProvider.java:128) > at > org.netbeans.modules.refactoring.java.ui.RefactoringActionsProvider. > doRename(RefactoringActionsProvider.java:75) > at > org.netbeans.modules.refactoring.api.impl.ActionsImplementationFactory. > doRename(ActionsImplementationFactory.java:66) > at > org.netbeans.modules.refactoring.spi.impl.RenameAction.performAction( > RenameAction.java:52) > at > org.netbeans.modules.refactoring.spi.impl.RefactoringGlobalAction$ > ContextAction.actionPerformed(RefactoringGlobalAction.java:172) > at > org.netbeans.modules.java.editor.rename.InstantRenamePerformer. > doFullRename(InstantRenamePerformer.java:259) > at > org.netbeans.modules.java.editor.rename.InstantRenamePerformer. > invokeInstantRename(InstantRenamePerformer.java:242) > at > org.netbeans.modules.java.editor.rename.InstantRenameAction. > actionPerformed(InstantRenameAction.java:37) > at > org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:322) > at > java.desktop/javax.swing.SwingUtilities.notifyAction( > SwingUtilities.java:1810) > at > java.desktop/javax.swing.JComponent.processKeyBinding( > JComponent.java:2900) > at > java.desktop/javax.swing.JComponent.processKeyBindings( > JComponent.java:2948) > at > java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2862) > at java.desktop/java.awt.Component.processEvent( > Component.java:6366) > at java.desktop/java.awt.Container.processEvent( > Container.java:2261) > at > java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966) > at > java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) > at > java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) > at > java.desktop/java.awt.KeyboardFocusManager.redispatchEvent( > KeyboardFocusManager.java:1950) > at > java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent( > DefaultKeyboardFocusManager.java:871) > at > java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent( > DefaultKeyboardFocusManager.java:1140) > at > java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions( > DefaultKeyboardFocusManager.java:1010) > at > java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent( > DefaultKeyboardFocusManager.java:836) > at > java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4847) > at > java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) > at java.desktop/java.awt.Window.dispatchEventImpl(Window.java: > 2772) > at > java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) > at > java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) > at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) > at java.base/java.security.AccessController.doPrivileged(Native > Method) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl. > doIntersectionPrivilege(ProtectionDomain.java:87) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl. > doIntersectionPrivilege(ProtectionDomain.java:97) > at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) > at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) > at java.base/java.security.AccessController.doPrivileged(Native > Method) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl. > doIntersectionPrivilege(ProtectionDomain.java:87) > at > java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) > at > org.netbeans.core.TimableEventQueue.dispatchEvent( > TimableEventQueue.java:136) > at > java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters( > EventDispatchThread.java:203) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter( > EventDispatchThread.java:124) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy( > EventDispatchThread.java:113) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents( > EventDispatchThread.java:109) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents( > EventDispatchThread.java:101) > at > java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) >
