This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 271397 - NPE appears if .clang-format file has not "BasedOnStyle" option
Summary: NPE appears if .clang-format file has not "BasedOnStyle" option
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Editor (show other bugs)
Version: Dev
Hardware: PC Linux
: P3 normal (vote)
Assignee: Alexander Simon
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-29 11:33 UTC by soldatov
Modified: 2017-09-06 02:34 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description soldatov 2017-08-29 11:33:01 UTC
.clang-format file from https://clang.llvm.org/docs/ClangFormatStyleOptions.html

UseTab: Never
IndentWidth: 4
BreakBeforeBraces: Allman
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0

Scenario:
- Create C++ project
- Call Project Properties window
- Set Formatting|Use clang-format|File .clang-format = path to that .clang-format file
- Press OK button
- Open main.cpp file
===> 
java.lang.NullPointerException
	at org.clang.format.impl.TokenAnnotator.mustBreakForReturnType(TokenAnnotator.java:1140)
	at org.clang.format.impl.TokenAnnotator.calculateFormattingInformation(TokenAnnotator.java:173)
	at org.clang.format.impl.Formatter.analyze(Formatter.java:64)
	at org.clang.format.impl.TokenAnalyzer.process(TokenAnalyzer.java:88)
	at org.clang.format.FormatGlobals.reformat(FormatGlobals.java:758)
	at org.clang.format.FormatGlobals.reformat(FormatGlobals.java:740)
	at org.netbeans.modules.cnd.editor.reformat.Reformatter.reformat(Reformatter.java:190)
	at org.netbeans.modules.cnd.editor.reformat.Reformatter.reformatImpl(Reformatter.java:161)
	at org.netbeans.modules.cnd.editor.reformat.Reformatter.reformat(Reformatter.java:133)
	at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.runTask(TaskHandler.java:575)
	at org.netbeans.modules.editor.indent.TaskHandler.runTasks(TaskHandler.java:334)
	at org.netbeans.modules.editor.indent.IndentImpl.reformat(IndentImpl.java:374)
	at org.netbeans.modules.editor.indent.api.Reformat.reformat(Reformat.java:154)
	at org.netbeans.editor.ActionFactory$FormatAction$1$1.run(ActionFactory.java:1879)
	at org.netbeans.editor.GuardedDocument.runAtomicAsUser(GuardedDocument.java:358)
	at org.netbeans.editor.ActionFactory$FormatAction$1.run(ActionFactory.java:1858)
	at org.netbeans.modules.progress.ui.RunOffEDTImpl$1.run(RunOffEDTImpl.java:169)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
	at org.openide.util.RequestProcessor.post(RequestProcessor.java:420)
	at org.netbeans.modules.progress.ui.RunOffEDTImpl.runOffEventDispatchThreadImpl(RunOffEDTImpl.java:163)
	at org.netbeans.modules.progress.ui.RunOffEDTImpl.runOffEventDispatchThread(RunOffEDTImpl.java:106)
	at org.netbeans.api.progress.BaseProgressUtils.runOffEventDispatchThread(BaseProgressUtils.java:113)
	at org.netbeans.api.progress.ProgressUtils.runOffEventDispatchThread(ProgressUtils.java:90)
	at org.netbeans.editor.ActionFactory$FormatAction.actionPerformed(ActionFactory.java:1846)
	at org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:347)
	at org.netbeans.spi.editor.AbstractEditorAction.actionPerformed(AbstractEditorAction.java:468)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Comment 1 Quality Engineering 2017-09-06 02:34:56 UTC
Integrated into 'main-silver', will be available in build *201709060001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/75f3a4bf1140
User: Alexander Simon <alexvsimon@netbeans.org>
Log: fixing Bug #271397 NPE appears if .clang-format file has not "BasedOnStyle" option