Cannot root twice [message #1721621] |
Thu, 28 January 2016 11:45  |
Eclipse User |
|
|
|
I inferr a jvm model from my Xbase based domainmodel like DSL.
Also I generate a hibernate mapping XML file which I do in the ModelGenerator.
There I need the resolved types of my features. So far so good.
But as soon as I add an annotation with JvmCustomAnnotationValue's to a JvmField I get that exception in my XML compiler:
java.lang.RuntimeException: Cannot root twice
at org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver$1.add(DefaultBatchTypeResolver.java:73)
at org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver$1.add(DefaultBatchTypeResolver.java:1)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver$1.add(LogicalContainerAwareReentrantTypeResolver.java:318)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver$1.add(LogicalContainerAwareReentrantTypeResolver.java:1)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.recordAnnotationExpressions(LogicalContainerAwareReentrantTypeResolver.java:601)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.recordAnnotationExpressions(LogicalContainerAwareReentrantTypeResolver.java:587)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._recordExpressions(LogicalContainerAwareReentrantTypeResolver.java:425)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.recordExpressions(LogicalContainerAwareReentrantTypeResolver.java:416)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._recordExpressions(LogicalContainerAwareReentrantTypeResolver.java:439)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.recordExpressions(LogicalContainerAwareReentrantTypeResolver.java:412)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.prepare(LogicalContainerAwareReentrantTypeResolver.java:401)
at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:689)
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.getDelegate(CompoundReentrantTypeResolver.java:108)
at org.eclipse.xtext.xbase.typesystem.internal.CompoundReentrantTypeResolver.getActualType(CompoundReentrantTypeResolver.java:202)
at org.eclipse.xtext.xbase.typesystem.internal.ForwardingResolvedTypes.getActualType(ForwardingResolvedTypes.java:73)
I'm calling this via "return typeResolver.resolveTypes( x ).getActualType( x );"
This is really weird because the annotation is already added to the JvmField and there is absolutely no need to add them again. Also I'm just want to get the already resolved type. Why the heck is the annotation added again then to something which throws an exception.
Is this a bug? I assume just removing the exception throw and everything will work fine...
|
|
|
|
Powered by
FUDForum. Page generated in 0.04503 seconds