Bug 526029 - DOT Editor throws NPE when calculating folding regions for incomplete statements
Summary: DOT Editor throws NPE when calculating folding regions for incomplete statements
Status: RESOLVED FIXED
Alias: None
Product: GEF
Classification: Tools
Component: GEF DOT (show other bugs)
Version: unspecified   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 5.0.2 (Oxygen.2) M1   Edit
Assignee: gef-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2017-10-14 05:25 EDT by Tamas Miklossy CLA
Modified: 2017-10-14 05:40 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tamas Miklossy CLA 2017-10-14 05:25:45 EDT
When the DOT Editor calculates the folding regions for incomplete statements (e.g: "graph {1[color= ]}"), the following NullPointerException is thrown:

java.lang.NullPointerException
	at org.eclipse.gef.dot.internal.ui.language.folding.DotFoldingRegionProvider.computeDotAttributeValueFolding(DotFoldingRegionProvider.java:86)
	at org.eclipse.gef.dot.internal.ui.language.folding.DotFoldingRegionProvider.computeObjectFolding(DotFoldingRegionProvider.java:67)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider.doGetFoldingRegions(DefaultFoldingRegionProvider.java:98)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider$1.exec(DefaultFoldingRegionProvider.java:80)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider$1.exec(DefaultFoldingRegionProvider.java:1)
	at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:25)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:494)
	at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:465)
	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:105)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider.getFoldingRegions(DefaultFoldingRegionProvider.java:72)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingStructureProvider.calculateProjectionAnnotationModel(DefaultFoldingStructureProvider.java:116)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingStructureProvider.initialize(DefaultFoldingStructureProvider.java:59)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingStructureProvider.handleProjectionEnabled(DefaultFoldingStructureProvider.java:100)
	at org.eclipse.xtext.ui.editor.folding.DefaultFoldingStructureProvider$ProjectionChangeListener.projectionEnabled(DefaultFoldingStructureProvider.java:191)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:488)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:536)
	at org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1408)
	at org.eclipse.xtext.ui.editor.XtextEditor.installFoldingSupport(XtextEditor.java:523)
	at org.eclipse.xtext.ui.editor.XtextEditor.createPartControl(XtextEditor.java:503)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:141)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
Comment 1 Tamas Miklossy CLA 2017-10-14 05:40:01 EDT
The following changes are published on the origin/R5_0_0_maintenance and origin/master branches:

[526029] Avoid NPE in Dot Folding in case of incomplete statements.

- Modify the DotFoldingProvider to be able to calculate the folding
regions even for incomplete statements.
- Implement corresponding DotFoldingTests test cases.

Resolving as fixed in 5.0.2 M1.