Invalid Ecore feature [message #1774755] |
Thu, 19 October 2017 11:29 |
|
Dear all.
Sometimes (not easily reproductible), I have the error below within my DSL product. It freezes the product.
!ENTRY org.apache.log4j 4 0 2017-08-22 16:28:49.976
!MESSAGE org.eclipse.xtext.xbase.resource.BatchLinkableResource - resolution of uriFragment '/1/@members.1/@members.14/@returnType' failed.
!STACK 0
java.lang.IllegalArgumentException: The feature 'members' is not a valid feature
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eStructuralFeature(BasicEObjectImpl.java:733)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eObjectForURIFragmentSegment(BasicEObjectImpl.java:527)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject(ResourceImpl.java:766)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject(ResourceImpl.java:742)
at org.eclipse.xtext.resource.XtextResource.access$101(XtextResource.java:63)
at org.eclipse.xtext.resource.XtextResource$1.getEObject(XtextResource.java:119)
at org.eclipse.xtext.resource.DefaultFragmentProvider.getEObject(DefaultFragmentProvider.java:28)
at org.eclipse.xtext.resource.XtextResource.basicGetEObject(XtextResource.java:363)
at org.eclipse.xtext.resource.XtextResource.getEObject(XtextResource.java:349)
at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject(LazyLinkingResource.java:232)
at org.eclipse.xtext.resource.persistence.StorageAwareResource.getEObject(StorageAwareResource.java:120)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject(BatchLinkableResource.java:124)
at org.eclipse.xtext.xbase.resource.BatchLinkableResourceStorageLoadable.lambda$null$4(BatchLinkableResourceStorageLoadable.java:114)
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
at com.google.common.collect.Iterators$7.transform(Iterators.java:750)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
at com.google.common.collect.Iterators.addAll(Iterators.java:367)
at com.google.common.collect.Iterables.addAll(Iterables.java:332)
at com.google.common.collect.Sets.newLinkedHashSet(Sets.java:383)
at org.eclipse.xtext.xbase.resource.BatchLinkableResourceStorageLoadable.lambda$readAssociationsAdapter$5(BatchLinkableResourceStorageLoadable.java:116)
at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
at org.eclipse.xtext.xbase.resource.BatchLinkableResourceStorageLoadable.readAssociationsAdapter(BatchLinkableResourceStorageLoadable.java:118)
at org.eclipse.xtext.xbase.resource.BatchLinkableResourceStorageLoadable.loadEntries(BatchLinkableResourceStorageLoadable.java:45)
at org.eclipse.xtext.resource.persistence.ResourceStorageLoadable.loadIntoResource(ResourceStorageLoadable.java:53)
at org.eclipse.xtext.resource.persistence.StorageAwareResource.loadFromStorage(StorageAwareResource.java:92)
at org.eclipse.xtext.resource.persistence.StorageAwareResource.load(StorageAwareResource.java:67)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265)
at org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:220)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:201)
at org.eclipse.xtext.common.types.access.impl.IndexedJvmTypeAccess.getAccessibleType(IndexedJvmTypeAccess.java:142)
at org.eclipse.xtext.common.types.xtext.ui.JdtIndexedJvmTypeAccess.findAccessibleType(JdtIndexedJvmTypeAccess.java:64)
at org.eclipse.xtext.common.types.access.impl.IndexedJvmTypeAccess.getIndexedJvmType(IndexedJvmTypeAccess.java:110)
at org.eclipse.xtext.common.types.access.impl.IndexedJvmTypeAccess.getIndexedJvmType(IndexedJvmTypeAccess.java:93)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.findObjectTypeInIndex(JdtTypeProvider.java:578)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.findLoadedOrDerivedObjectType(JdtTypeProvider.java:255)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.doFindObjectType(JdtTypeProvider.java:203)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.findObjectType(JdtTypeProvider.java:191)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.doFindTypeByName(JdtTypeProvider.java:149)
at org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.findTypeByName(JdtTypeProvider.java:158)
at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getSingleElement(AbstractTypeScope.java:59)
at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getSingleElement(AbstractTypeScope.java:54)
at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getElements(AbstractTypeScope.java:73)
at org.eclipse.xtext.resource.persistence.PortableURIs.resolve(PortableURIs.java:171)
at org.eclipse.xtext.resource.persistence.StorageAwareResource.getEObject(StorageAwareResource.java:118)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject(BatchLinkableResource.java:124)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:223)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:201)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:261)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1477)
at org.eclipse.xtext.common.types.impl.JvmTypeReferenceImplCustom.eResolveProxy(JvmTypeReferenceImplCustom.java:31)
at org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImpl.getType(JvmParameterizedTypeReferenceImpl.java:111)
at org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReferenceFactory.getType(LightweightTypeReferenceFactory.java:242)
at org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReferenceFactory.doVisitParameterizedTypeReference(LightweightTypeReferenceFactory.java:173)
at org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReferenceFactory.doVisitParameterizedTypeReference(LightweightTypeReferenceFactory.java:52)
at org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImplCustom.accept(JvmParameterizedTypeReferenceImplCustom.java:53)
at org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitor.visit(AbstractTypeReferenceVisitor.java:34)
at org.eclipse.xtext.xbase.typesystem.references.LightweightTypeReferenceFactory.toLightweightReference(LightweightTypeReferenceFactory.java:83)
at org.eclipse.xtext.xbase.typesystem.references.StandardTypeReferenceOwner.toLightweightTypeReference(StandardTypeReferenceOwner.java:117)
at org.eclipse.xtext.xbase.typesystem.internal.ResolvedTypes.doGetDeclaredType(ResolvedTypes.java:999)
at org.eclipse.xtext.xbase.typesystem.internal.StackedResolvedTypes.doGetDeclaredType(StackedResolvedTypes.java:279)
at org.eclipse.xtext.xbase.typesystem.internal.ResolvedTypes.doGetActualType(ResolvedTypes.java:962)
at org.eclipse.xtext.xbase.typesystem.internal.ResolvedTypes.getActualType(ResolvedTypes.java:950)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.getDeclaredType(AbstractLinkingCandidate.java:610)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.getDeclaredType(FeatureLinkingCandidate.java:1136)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.applyToComputationState(AbstractLinkingCandidate.java:288)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$5.applyToComputationState(AbstractTypeComputationState.java:511)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1091)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:100)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.resolveArgumentType(AbstractLinkingCandidate.java:627)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.resolveArgumentType(FeatureLinkingCandidate.java:963)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeFixedArityArgumentType(AbstractLinkingCandidate.java:579)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentType(AbstractLinkingCandidate.java:443)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentTypes(AbstractLinkingCandidate.java:430)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.preApply(AbstractLinkingCandidate.java:378)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.preApply(FeatureLinkingCandidate.java:896)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.applyToComputationState(AbstractLinkingCandidate.java:286)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$5.applyToComputationState(AbstractTypeComputationState.java:511)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1091)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:100)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.CompoundTypeComputationState.computeTypes(CompoundTypeComputationState.java:147)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.resolveArgumentType(AbstractLinkingCandidate.java:627)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.resolveArgumentType(FeatureLinkingCandidate.java:963)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeVarArgumentType(AbstractLinkingCandidate.java:496)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.computeVarArgumentType(FeatureLinkingCandidate.java:993)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentType(AbstractLinkingCandidate.java:445)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentTypes(AbstractLinkingCandidate.java:430)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.preApply(AbstractLinkingCandidate.java:378)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.preApply(FeatureLinkingCandidate.java:896)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.applyToComputationState(AbstractLinkingCandidate.java:286)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$5.applyToComputationState(AbstractTypeComputationState.java:511)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1091)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:100)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.resolveArgumentType(AbstractLinkingCandidate.java:627)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.resolveArgumentType(FeatureLinkingCandidate.java:963)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeFixedArityArgumentType(AbstractLinkingCandidate.java:579)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentType(AbstractLinkingCandidate.java:443)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentTypes(AbstractLinkingCandidate.java:430)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.preApply(AbstractLinkingCandidate.java:378)
at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.preApply(FeatureLinkingCandidate.java:896)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.applyToComputationState(AbstractLinkingCandidate.java:286)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1091)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:100)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.ExpressionTypeComputationState.doComputeTypes(ExpressionTypeComputationState.java:59)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:473)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:106)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.ExpressionTypeComputationState.doComputeTypes(ExpressionTypeComputationState.java:59)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:247)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:120)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:469)
at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:106)
at org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.computeTypes(XbaseWithAnnotationsTypeComputer.java:46)
at org.eclipse.xtend.core.typesystem.XtendTypeComputer.computeTypes(XtendTypeComputer.java:64)
at io.sarl.lang.typesystem.SARLTypeComputer.computeTypes(SARLTypeComputer.java:113)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractRootTypeComputationState.computeTypes(AbstractRootTypeComputationState.java:32)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._computeTypes(LogicalContainerAwareReentrantTypeResolver.java:827)
at org.eclipse.xtend.core.typesystem.XtendReentrantTypeResolver._computeTypes(XtendReentrantTypeResolver.java:612)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:711)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeMemberTypes(LogicalContainerAwareReentrantTypeResolver.java:897)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._computeTypes(LogicalContainerAwareReentrantTypeResolver.java:886)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:705)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:697)
at org.eclipse.xtend.core.typesystem.XtendReentrantTypeResolver.computeTypes(XtendReentrantTypeResolver.java:382)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver.resolve(DefaultReentrantTypeResolver.java:163)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver.reentrantResolve(DefaultReentrantTypeResolver.java:139)
at org.eclipse.xtext.xbase.typesystem.internal.CompoundReentrantTypeResolver.reentrantResolve(CompoundReentrantTypeResolver.java:79)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$LazyResolvedTypes.resolveTypes(CachingBatchTypeResolver.java:80)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$2.process(CachingBatchTypeResolver.java:57)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$2.process(CachingBatchTypeResolver.java:53)
at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:37)
at org.eclipse.xtext.util.OnChangeEvictingCache.execWithoutCacheClear(OnChangeEvictingCache.java:129)
at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver.doResolveTypes(CachingBatchTypeResolver.java:53)
at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:69)
at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:71)
at org.eclipse.xtext.xbase.resource.BatchLinkableResource.resolveLazyCrossReferences(BatchLinkableResource.java:165)
at org.eclipse.xtext.EcoreUtil2.resolveLazyCrossReferences(EcoreUtil2.java:498)
at org.eclipse.xtext.builder.clustering.ClusteringBuilderState.doUpdate(ClusteringBuilderState.java:230)
at org.eclipse.xtext.builder.builderState.AbstractBuilderState.update(AbstractBuilderState.java:116)
at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:287)
at org.eclipse.xtext.builder.impl.XtextBuilder.incrementalBuild(XtextBuilder.java:267)
at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:161)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
After closing my product and restart it, every is going back to normal.
What is the meaning and the possible sources of this error?
Thank you.
Stéphane.
|
|
|
|
Re: Invalid Ecore feature [message #1774758 is a reply to message #1774757] |
Thu, 19 October 2017 11:47 |
|
Dear Ed.
Thank you for quick answer. It makes sense.
I agree with your explanation according to my use case. Indeed, as far as I remember, this error occurs when I'm editing my DSL file.
Is there a place where to force the synchronization properly without breaking the builder behavior?
Stephane.
|
|
|
|
|
Re: Invalid Ecore feature [message #1774799 is a reply to message #1774761] |
Thu, 19 October 2017 17:19 |
|
Thank you Ed for your valuable comments.
I will double check if I chang the model outside any IUnitWork. As far as I remember, I do not changed the Ecore model after it is build by Xtext after parsing the file, except adding some adapters.
Stephane.
|
|
|
|
Re: Invalid Ecore feature [message #1774803 is a reply to message #1774802] |
Thu, 19 October 2017 18:23 |
|
I'm using the last stable version, i.e. 2.12 (I'm following your releases quiet efficiently).
My inferrer is a subtype of XtendJvmModelInferrer. I think I have not coded special overriding functions from the super types. But because my inferrer code starting to be huge, I need to double check.
The code is here.
|
|
|
|
Re: Invalid Ecore feature [message #1774813 is a reply to message #1774806] |
Thu, 19 October 2017 20:52 |
|
I have a specific implementation of the TypeComputer that, when multiple feature could be called, the deprecated features are skipped from the call candidates.
The corresponding code from my TypeComputer is below. The line I suspect to cause this error is marked with "//ERROR". This the line within the stack trace above.
@Override
protected ILinkingCandidate getBestCandidate(List<? extends ILinkingCandidate> candidates) {
if (candidates.size() == 1) {
return candidates.get(0);
}
ILinkingCandidate preferredCandidateWithoutConstraint = null;
ILinkingCandidate preferredCandidateWithConstraint = null;
for (final ILinkingCandidate candidate : candidates) {
if (preferredCandidateWithoutConstraint == null) {
preferredCandidateWithoutConstraint = candidate;
} else {
preferredCandidateWithoutConstraint = preferredCandidateWithoutConstraint.getPreferredCandidate(candidate);
}
if (preferredCandidateWithConstraint == null) {
if (!isIgnorableCallToFeature(candidate)) {
preferredCandidateWithConstraint = candidate;
}
} else {
final ILinkingCandidate preferredCandidate = preferredCandidateWithConstraint.getPreferredCandidate(candidate);
if (!(preferredCandidate instanceof AmbiguousFeatureLinkingCandidate)
|| !isIgnorableCallToFeature(candidate)) {
preferredCandidateWithConstraint = preferredCandidate;
}
}
}
if (preferredCandidateWithConstraint != null) {
return preferredCandidateWithConstraint;
}
return preferredCandidateWithoutConstraint;
}
/** Replies if ambiguity could be removed for the given feature.
*
* @param candidate the candidate.
* @return {@code true} if ambiguity could be removed.
*/
@SuppressWarnings({"checkstyle:npathcomplexity", "checkstyle:cyclomaticcomplexity"})
protected boolean isIgnorableCallToFeature(ILinkingCandidate candidate) {
final JvmIdentifiableElement feature = candidate.getFeature();
//
// @Deprecated
//
if (feature instanceof JvmOperation) {
JvmAnnotationTarget target = (JvmOperation) feature;
JvmAnnotationReference reference = this.annotationLookup.findAnnotation(target, Deprecated.class);
if (reference == null) {
do {
target = EcoreUtil2.getContainerOfType(target.eContainer(), JvmAnnotationTarget.class); //ERROR
if (target != null) {
reference = this.annotationLookup.findAnnotation(target, Deprecated.class);
}
} while (reference == null && target != null);
}
if (reference != null) {
return true;
}
}
return false;
}
If you think it cannot be the cause of my problem, I will wait for reproducing the error, and put logging stuff for obtaining the state of the resource.
|
|
|
Powered by
FUDForum. Page generated in 0.05264 seconds