1
Xtext에 fallowing DSL이 있습니다. ObjectB에 Element가있는 경우, 포함하는 오브젝트 (ObjectA)에 Element가 없음을 유효성 검증하려고합니다. 나는 ObjectB에 경고를하지만 ObjectA에서 또한 fallowing 같은 경고를하고 싶은서브 오브젝트의 xtext 유효성 확인
Domainmodel:
ObjectA | ObjectB
;
ObjectB:
'ObjectB'
'{'
(element = Element)?
(objects += ObjectA)*
'}'
;
ObjectA:
'ObjectA'
'{'
(element = Element)?
'}'
;
Element:
'Element' name=ID
;
A. Object로하지 :
warning
,
error
및
info
에 대한 몇 가지 "그룹"이 있습니다
@check
def ObjectinObject(ObjectB object)
{
if(object.element != null)
{
for (ObjectA e : object.objects)
{
if(e.element != null)
{//The fallowing Code will make Warning at the element and the subelement
warning('warning', DomainmodelPackage$Literals::DOMAINMODEL__ELEMENT)
warning('warning2',e.element ,DomainmodelPackage$Literals::ELEMENT__NAME)
}
}
}
}
덕분에 많은 도움이되었습니다. 나는 조금 노력하고 그것이 작동하도록했습니다. 내가 OBJECT_A__OBJECTS 리터럴, 그냥 Object_B__OBJECTS,하지만 그 중 하나를 작동하지 않았다. 그것은 실제로 : 경고 ('warning2', e.element, DomainmodelPackage $ Literals :: ELEMENT__NAME) – Iron