blended-modeling / eatxt

Eclipse Public License 2.0
1 stars 1 forks source link

Unexpected runtime error while computing a text hover #25

Closed steghoja closed 2 years ago

steghoja commented 2 years ago

When I hover over any model element in the eatxt editor, I see the following error message appear in the Error Log:

Unexpected runtime error while computing a text hover
java.lang.NullPointerException
    at org.bumble.eastadl.simplified.scoping.EastAdlSimplifiedScopeProvider.getAllFiles(EastAdlSimplifiedScopeProvider.java:256)
    at org.bumble.eastadl.simplified.scoping.EastAdlSimplifiedScopeProvider.getScope(EastAdlSimplifiedScopeProvider.java:101)
    at org.eclipse.xtext.documentation.impl.MultiLineJavaDocTypeReferenceProvider.getScope(MultiLineJavaDocTypeReferenceProvider.java:180)
    at org.eclipse.xtext.documentation.impl.MultiLineJavaDocTypeReferenceProvider.computeEObjectReferencedInComment(MultiLineJavaDocTypeReferenceProvider.java:81)
    at org.eclipse.xtext.xbase.ui.hover.XbaseDispatchingEObjectTextHover.getXtextElementAt(XbaseDispatchingEObjectTextHover.java:102)
    at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover$2.exec(AbstractEObjectHover.java:93)
    at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover$2.exec(AbstractEObjectHover.java:1)
    at org.eclipse.xtext.util.concurrent.IReadAccess.lambda$tryReadOnly$0(IReadAccess.java:57)
    at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:70)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:525)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:497)
    at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:136)
    at org.eclipse.xtext.util.concurrent.IReadAccess.tryReadOnly(IReadAccess.java:53)
    at org.eclipse.xtext.util.concurrent.IReadAccess.tryReadOnly(IReadAccess.java:71)
    at org.eclipse.xtext.ui.editor.hover.AbstractEObjectHover.getHoverInfo2(AbstractEObjectHover.java:90)
    at org.eclipse.xtext.xbase.ui.hover.XbaseDispatchingEObjectTextHover.getHoverInfo2(XbaseDispatchingEObjectTextHover.java:68)
    at org.eclipse.xtext.ui.editor.hover.AbstractCompositeHover.getHoverInfo2(AbstractCompositeHover.java:95)
    at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155)

The culprit is the line if (ext.equals("eatxt")) {. In general, it is always better to use the constant String as a starting point for the comparison: "eatxt".equals(ext). Alternatively, a null check should be done here.