Xtext & Xtend - определяет, является ли тип параметра типом данных Java или нет
У меня есть раздел в моей грамматике, как следующий
Type:
'(' parameter=Param ':' dataType=DataType ')'
;
DataType :
javaType = JvmTypeReference | ModelResource
;
ModelResource :
name=ID
;
В соответствующем xtend я должен был определить, является ли javaType одним из примитивных типов java или пользовательским классом.
Я попробовал следующую проверку
if (type.dataType instanceof ModelResource) {
...
}
Я предоставляю в исполнении следующим образом
(user : UserResource)
(id : Long)
Но согласно условию dataType user
является экземпляром JvmTypeReference, а не типа ModelResource.
Как я могу изменить грамматику / условие, чтобы идентифицировать user
не имеет типа Java и id
имеет тип Java?