소스 검색

Added rule to validate if operations are declared in states.

markus.muehlbrandt@itemis.de 14 년 전
부모
커밋
8c9bcf6311
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/STextJavaValidator.java

+ 8 - 0
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/STextJavaValidator.java

@@ -26,6 +26,7 @@ import org.yakindu.sct.model.stext.stext.ExitEvent;
 import org.yakindu.sct.model.stext.stext.InterfaceScope;
 import org.yakindu.sct.model.stext.stext.LocalReaction;
 import org.yakindu.sct.model.stext.stext.OnCycleEvent;
+import org.yakindu.sct.model.stext.stext.Operation;
 import org.yakindu.sct.model.stext.stext.ReactionTrigger;
 import org.yakindu.sct.model.stext.stext.SimpleScope;
 import org.yakindu.sct.model.stext.stext.StatechartDefinition;
@@ -83,6 +84,13 @@ public class STextJavaValidator extends AbstractSTextJavaValidator {
 			error("Variables can not be defined in states.",
 					SGraphPackage.Literals.SCOPE__VARIABLES);
 		}
+		
+		for (Declaration declaration: simpleScope.getDeclarations()) {
+			if (declaration instanceof Operation) {
+				error("Operations can not be defined in states.",
+						SGraphPackage.Literals.SCOPE__DECLARATIONS);
+			}
+		}
 	}
 
 	@Check(CheckType.FAST)