Problems with referencing ecore's [message #884661] |
Mon, 11 June 2012 11:17  |
Eclipse User |
|
|
|
Dear all,
I have succesfully created a grammar that is based on RMF's Reqif ecore.
Now I am trying to build a grammar that references ReqIF ecore.
My grammar statement is
Constraint:
'constraint' name=ID ref=[reqif10::SpecObjectType|ID]
query=XExpression
;
However, the workflow fails. It cannot generate an .ecore for my Xtext grammar.
I have tracked down the problem to GenModelImpl#getMissingPackagesHelper
The line
ePackages.add(eClassifier.getEPackage());
adds a null value to the list of ePackages, which causes a null pointer exception in the generator of Xtext.
The value of eClassifier, according to the debugger is
org.eclipse.emf.ecore.impl.EDataTypeImpl@6398523f (eProxyURI: platform:/plugin/org.eclipse.emf.ecore/model/XMLNamespace.ecore#//LangType)
I have tried adding basically everything to tge StandaloneSetup:
bean = StandaloneSetup {
scanClassPath = true
platformUri = "${runtimeProject}/.."
// The following two lines can be removed, if Xbase is not used.
registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.xhtml.XhtmlPackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.datatypes.DatatypesPackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.ReqIF10Package"
registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage"
registerGeneratedEPackage = "org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage"
registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.rmf.reqif10/model/reqif10.genmodel"
registerGenModelFile ="platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/XMLNamespace.genmodel"
}
but no success. Any idea how I could solve the null pointer problem?
Thanks,
Andreas
EDIT: The nullpointer is thrown in EcoreGeneratorFragment#getGenPackagesForPackages in && gp.getEcorePackage().getNsURI().equals(pkg.getNsURI()))
[Updated on: Mon, 11 June 2012 11:19] by Moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03534 seconds