我的语法中有一节如下
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类型?