| Summary: | [Xtend2] NullPointerException when XtendClass extends some other Class and nothing is defined after implements | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Holger Schill <Holger.Schill> | ||||
| Component: | Xtext | Assignee: | Holger Schill <Holger.Schill> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | sebastian.zarnekow | ||||
| Version: | 2.1.0 | Flags: | sebastian.zarnekow:
indigo+
|
||||
| Target Milestone: | SR2 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Sebastian. Should I have a look at this issue? (In reply to comment #1) > Sebastian. Should I have a look at this issue? Sure, a patch is most welcome if you find the time :-) Created attachment 205031 [details]
suggested fix
Suggested fix for the problem. Please review.
After a discussion with Sebastian I pushed a slightly differnt version of the patch with same result. Pushed to master. Closing all bugs that were set to RESOLVED before Neon.0 Closing all bugs that were set to RESOLVED before Neon.0 |
Having this XtendClass: class Foo extends Bar implements { } You will see the following NullPointerException when you try to typ after the keyword implements happening in the Scoeprovider. Without extending some Class the Nullpointers are gone. java.lang.NullPointerException at java.lang.String.compareTo(String.java:1167) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider$2.compare(JvmFeatureScopeProvider.java:176) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider$2.compare(JvmFeatureScopeProvider.java:1) at java.util.Arrays.mergeSort(Arrays.java:1270) at java.util.Arrays.sort(Arrays.java:1210) at java.util.Collections.sort(Collections.java:159) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider.linearizeTypeHierarchy(JvmFeatureScopeProvider.java:161) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider.createFeatureScopeForTypeRef(JvmFeatureScopeProvider.java:88) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createFeatureScopeForTypeRef(XbaseScopeProvider.java:633) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createImplicitFeatureCallScope(XbaseScopeProvider.java:421) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createSimpleFeatureCallScope(XbaseScopeProvider.java:357) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createFeatureCallScope(XbaseScopeProvider.java:327) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.getScope(XbaseScopeProvider.java:155) at org.eclipse.xtext.xbase.annotations.scoping.XbaseWithAnnotationsScopeProvider.getScope(XbaseWithAnnotationsScopeProvider.java:50) at org.eclipse.xtext.xbase.linking.XbaseLinkingScopeProvider.getScope(XbaseLinkingScopeProvider.java:42) at org.eclipse.xtext.linking.impl.DefaultLinkingService.getScope(DefaultLinkingService.java:59) at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects(DefaultLinkingService.java:119) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject(LazyLinkingResource.java:173) at org.eclipse.xtext.xbase.resource.XbaseResource.access$0(XbaseResource.java:1) at org.eclipse.xtext.xbase.resource.XbaseResource$1.exec(XbaseResource.java:32) at org.eclipse.xtext.xbase.resource.XbaseResource$1.exec(XbaseResource.java:1) at org.eclipse.xtext.util.OnChangeEvictingCache.execWithoutCacheClear(OnChangeEvictingCache.java:67) at org.eclipse.xtext.xbase.resource.XbaseResource.getEObject(XbaseResource.java:30) at org.eclipse.xtext.xtend2.resource.Xtend2Resource.getEObject(Xtend2Resource.java:88) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.resolveLazyCrossReference(LazyLinkingResource.java:141) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.resolveLazyCrossReferences(LazyLinkingResource.java:102) at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:485) at org.eclipse.xtext.validation.ResourceValidatorImpl.resolveProxies(ResourceValidatorImpl.java:127) at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:62) at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:79) at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:1) at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:32) at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:78) at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:75) at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:64) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)