viatra / EMF-IncQuery

This repository is only kept for historic reasons. All development happens on eclipse.org
http://eclipse.org/viatra
13 stars 4 forks source link

NPE when hovering on variable reference in annotation parameter value #374

Closed abelhegedus closed 11 years ago

abelhegedus commented 11 years ago

From the exception trace below, EMFPatternLanguageHoverDocumentationProvider.java:74 contains VariableReference.getVariable(), that we know returns null in most cases.

java.lang.NullPointerException
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(EcoreUtil.java:291)
    at org.eclipse.incquery.patternlanguage.emf.types.EMFPatternTypeProvider.getClassifierForVariable(EMFPatternTypeProvider.java:109)
    at org.eclipse.incquery.patternlanguage.emf.ui.labeling.EMFPatternLanguageHoverDocumentationProvider.calculateVariableHover(EMFPatternLanguageHoverDocumentationProvider.java:85)
    at org.eclipse.incquery.patternlanguage.emf.ui.labeling.EMFPatternLanguageHoverDocumentationProvider.computeDocumentation(EMFPatternLanguageHoverDocumentationProvider.java:74)
    at org.eclipse.xtext.xbase.ui.hover.XbaseHoverDocumentationProvider.getDocumentation(XbaseHoverDocumentationProvider.java:112)
    at org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider.getDocumentation(XbaseHoverProvider.java:163)
    at org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider.getHoverInfoAsHtml(XbaseHoverProvider.java:126)
    at org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider.getHoverInfo(XbaseHoverProvider.java:103)
    at org.eclipse.xtext.ui.editor.hover.html.DefaultEObjectHoverProvider$2.getInfo(DefaultEObjectHoverProvider.java:519)
    at org.eclipse.xtext.ui.editor.hover.DispatchingEObjectTextHover.getHoverInfo(DispatchingEObjectTextHover.java:38)

I have used the following workaround in my code that parses the parameter value, but maybe a better solution is possible for both my case and the hover calculation:

CorePatternLanguageHelper.getParameterByName(pattern, ((VariableValue) ref).getValue().getVar());
ujhelyiz commented 11 years ago

Should be working correctly after the regeneration of the language projects.

istvanrath commented 11 years ago

Fixed.