use of org.yakindu.base.types.Event in project statecharts by Yakindu.
the class STextJavaValidator method checkReactionTriggerRegularEvent.
@Check(CheckType.FAST)
public void checkReactionTriggerRegularEvent(ReactionTrigger reactionTrigger) {
for (int i = 0; i < reactionTrigger.getTriggers().size(); i++) {
EventSpec eventSpec = reactionTrigger.getTriggers().get(i);
if (eventSpec instanceof RegularEventSpec) {
EObject element = unwrap(((RegularEventSpec) eventSpec).getEvent());
if (element != null && (!(element instanceof Event))) {
String elementName = "";
if (element instanceof NamedElement) {
elementName = "'" + ((NamedElement) element).getName() + "' ";
}
error("Trigger " + elementName + "is no event.", StextPackage.Literals.REACTION_TRIGGER__TRIGGERS, i, TRIGGER_IS_NO_EVENT);
}
}
}
}
use of org.yakindu.base.types.Event in project statecharts by Yakindu.
the class STextTypeInferrer method doInfer.
public InferenceResult doInfer(EventRaisingExpression e) {
Event event = deresolve(e.getEvent());
InferenceResult eventType = null;
if (event != null)
eventType = inferTypeDispatch(event.getTypeSpecifier());
eventType = eventType != null ? eventType : getResultFor(VOID);
if (e.getValue() == null) {
assertSame(eventType, getResultFor(VOID), String.format(MISSING_VALUE, eventType));
return getResultFor(VOID);
}
InferenceResult valueType = inferTypeDispatch(e.getValue());
assertAssignable(eventType, valueType, String.format(EVENT_DEFINITION, valueType, eventType));
return valueType;
}
use of org.yakindu.base.types.Event in project statecharts by Yakindu.
the class RenameRefactoringTest method testRenameEvent.
@Test
public void testRenameEvent() {
Statechart initial = models.loadStatechartFromResource(RENAMING + INITIAL_STATECHART);
Statechart expected = models.loadStatechartFromResource(RENAMING + "AfterRenamingEvent.sct");
// get element to rename
Event someEvent1 = null;
EList<Scope> scopes = initial.getScopes();
for (Scope scope : scopes) {
if (scope instanceof InterfaceScope) {
InterfaceScope iScope = (InterfaceScope) scope;
for (Event event : iScope.getEvents()) {
if (event.getName().equals("someEvent1")) {
someEvent1 = event;
}
}
}
}
testRenaming(initial, expected, someEvent1, "someNewEventName");
}
use of org.yakindu.base.types.Event in project statecharts by Yakindu.
the class SCTResourceTest method testStatechartSerializing1.
@Test
public void testStatechartSerializing1() throws Exception {
res.setSerializerEnabled(true);
Statechart statechart = createStatechart("internal: event Event1");
res.getContents().add(statechart);
Scope internalScope = (InternalScope) statechart.getScopes().get(0);
Event event = internalScope.getEvents().get(0);
event.setName("Event2");
assertEquals("internal: event Event2", statechart.getSpecification().trim());
assertEquals("" + res.getSyntaxDiagnostics(), 0, res.getSyntaxDiagnostics().size());
}
use of org.yakindu.base.types.Event in project statecharts by Yakindu.
the class EventItemProvider method getText.
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
@Override
public String getText(Object object) {
Event event = (Event) object;
StringBuilder builder = new StringBuilder(event.getName());
builder.append(" : ");
builder.append(event.getType() != null ? event.getType().getName() : "void");
return builder.toString();
}
Aggregations