osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Incorrect error message on mismatched property type #479

Closed joeseibel closed 9 years ago

joeseibel commented 9 years ago

When the value of a PropertyAssociation is a PropertyConstant and the type of the constant does not match the expected type, then an unhelpful error message is reported. Specifically, this issue was discovered when the expected type was Time and the type of the constant was aadlinteger. An error marker is placed on the model file with the message "Error executing EValidator".

joeseibel commented 9 years ago

Here is the stacktrace for the error:

java.lang.IllegalArgumentException: You can only add issues for EObjects contained in the currently validated resource 'platform:/resource/bugtrack-core/issue479/package_479.aadl'. But the given EObject was contained in 'platform:/resource/bugtrack-core/issue479/property_set_479.aadl' at org.eclipse.xtext.validation.AbstractDeclarativeValidator.checkIsFromCurrentlyCheckedResource(AbstractDeclarativeValidator.java:569) at org.eclipse.xtext.validation.AbstractDeclarativeValidator.acceptError(AbstractDeclarativeValidator.java:552) at org.eclipse.xtext.validation.AbstractDeclarativeValidator.error(AbstractDeclarativeValidator.java:440) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.error(PropertiesJavaValidator.java:513) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.checkUnits(PropertiesJavaValidator.java:438) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.typeCheckPropertyValues(PropertiesJavaValidator.java:346) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.typeCheckPropertyValues(PropertiesJavaValidator.java:296) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.typeCheckPropertyValues(PropertiesJavaValidator.java:405) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.typeCheckPropertyValues(PropertiesJavaValidator.java:296) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.checkPropertyAssociation(PropertiesJavaValidator.java:153) at org.osate.xtext.aadl2.properties.validation.PropertiesJavaValidator.casePropertyAssociation(PropertiesJavaValidator.java:119) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118) at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:311) at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:66) at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:127) at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:36) at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181) at org.eclipse.xtext.validation.CancelableDiagnostician.doValidateContents(CancelableDiagnostician.java:48) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:36) at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181) at org.eclipse.xtext.validation.CancelableDiagnostician.doValidateContents(CancelableDiagnostician.java:48) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:36) at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181) at org.eclipse.xtext.validation.CancelableDiagnostician.doValidateContents(CancelableDiagnostician.java:48) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:36) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:120) at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:141) at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:119) at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:99) at org.eclipse.xtext.ui.validation.DefaultResourceUIValidatorExtension.addMarkers(DefaultResourceUIValidatorExtension.java:60) at org.eclipse.xtext.ui.validation.DefaultResourceUIValidatorExtension.updateValidationMarkers(DefaultResourceUIValidatorExtension.java:45) at org.eclipse.xtext.builder.builderState.MarkerUpdaterImpl.processDelta(MarkerUpdaterImpl.java:82) at org.eclipse.xtext.builder.builderState.MarkerUpdaterImpl.updateMarkers(MarkerUpdaterImpl.java:64) at org.eclipse.xtext.builder.builderState.AbstractBuilderState.updateMarkers(AbstractBuilderState.java:81) at org.eclipse.xtext.builder.clustering.ClusteringBuilderState.doUpdate(ClusteringBuilderState.java:262) at org.eclipse.xtext.builder.builderState.AbstractBuilderState.update(AbstractBuilderState.java:112) at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:188) at org.eclipse.xtext.builder.impl.XtextBuilder.incrementalBuild(XtextBuilder.java:166) at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:95) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734) 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:299) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)