From e146003d69c2b58b8736f24ea3e7d4d12956f75b Mon Sep 17 00:00:00 2001 From: Sophie Coudert <sophie.coudert@telecom-paris.fr> Date: Wed, 5 Jun 2024 12:37:08 +0200 Subject: [PATCH] little improvment of error detection --- .../tosysmlv2/javacup/AvatarFromSysML.jcup | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup index cbb4248166..08f6a69832 100644 --- a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup +++ b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup @@ -477,6 +477,9 @@ syncChDecl ::= PART:p IDENT:id COLON SYNC_T EQUAL SYNC_T LPAR RELATION_F EQUAL I addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "synchroneous channels require a synchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright); @@ -489,6 +492,9 @@ nbfChDecl ::= PART:p IDENT:id COLON NBFIFO_T EQUAL NBFIFO_T LPAR RELATION_F EQUA addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (! theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "FIFO channels require an asynchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright); @@ -501,6 +507,9 @@ bfChDecl ::= PART:p IDENT:id COLON BFIFO_T EQUAL BFIFO_T LPAR RELATION_F EQUAL I addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (! theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "FIFO channels require an asynchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright); -- GitLab