Skip to content

IllegalArgumentException when validating type libraries #2875

@joeseibel

Description

@joeseibel

The following model results in an IllegalArgumentException:

package bug
public
  annex EMV2 {**
    error types extends library1, library2 with
    end types;
  **};
end bug;

package library1
public
  annex EMV2 {**
    error types extends ErrorLibrary with
    end types;
  **};
end library1;

package library2
public
  annex EMV2 {**
    error types extends ErrorLibrary with
    end types;
  **};
end library2;

Stack trace:

java.lang.IllegalArgumentException: You can only add issues for EObjects contained in the currently validated resource 'platform:/resource/Test/bug.aadl'. But the given EObject was contained in 'platform:/plugin/org.osate.aadl2.errormodel.contrib/resources/packages/ErrorLibrary.aadl'
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.checkIsFromCurrentlyCheckedResource(AbstractDeclarativeValidator.java:598)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.acceptError(AbstractDeclarativeValidator.java:579)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.error(AbstractDeclarativeValidator.java:466)
	at org.osate.xtext.aadl2.properties.validation.PropertiesValidator.error(PropertiesValidator.java:1154)
	at org.osate.xtext.aadl2.errormodel.validation.ErrorModelValidator.checkUniqueInheritedDefiningErrorTypes(ErrorModelValidator.java:870)
	at org.osate.xtext.aadl2.errormodel.validation.ErrorModelValidator.checkUniqueInheritedDefiningErrorTypes(ErrorModelValidator.java:878)
	at org.osate.xtext.aadl2.errormodel.validation.ErrorModelValidator.checkUniqueDefiningIdentifiers(ErrorModelValidator.java:830)
	at org.osate.xtext.aadl2.errormodel.validation.ErrorModelValidator.caseErrorModelLibrary(ErrorModelValidator.java:350)
	at jdk.internal.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:129)
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:337)
	at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:72)
	at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151)
	at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:299)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:245)
	at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:41)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:200)
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:142)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:147)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:125)
	at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:91)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:92)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:1)
	at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:27)
	at org.eclipse.xtext.util.concurrent.WrappingCancelableUnitOfWork.exec(WrappingCancelableUnitOfWork.java:58)
	at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:27)
	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:50)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:87)
	at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:68)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions