I met a strange error after migration to XTEXT2.
When I write three elements, one IfEffectivePackageBlock and define one class and its subclass extends it.
The code I wrote is very simple to replay the error. But it is fine in XTEXT 1.0
IfEffectivePackageBlock xxx{
}
class xx{
}
class xxxx extends xx{
}
The grammer I using is listed below, it will popup the error I met.
IfEffectivePackageBlock:
'ifEffective' effectivityId=ID '{'
(elements+=AbstractElement)*
'}'
;
ClassDeclaration:
'class' name=ID ('extends' superType=[ClassDeclaration])? '{'
(statements+=(
FunctionDef |
ConfigurationEntryPoint
)
)*
'}'
;
It will popup an window that warning me there is an internal error.
You can see it below.

Any advice?
I think your qualified name provider has to be updated. You’ll have to return a qualified name instead of a string.