Search in sources :

Example 1 with Event

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);
            }
        }
    }
}
Also used : TimeEventSpec(org.yakindu.sct.model.stext.stext.TimeEventSpec) RegularEventSpec(org.yakindu.sct.model.stext.stext.RegularEventSpec) EventSpec(org.yakindu.sct.model.stext.stext.EventSpec) EObject(org.eclipse.emf.ecore.EObject) ExitEvent(org.yakindu.sct.model.stext.stext.ExitEvent) EntryEvent(org.yakindu.sct.model.stext.stext.EntryEvent) Event(org.yakindu.base.types.Event) NamedElement(org.yakindu.base.base.NamedElement) RegularEventSpec(org.yakindu.sct.model.stext.stext.RegularEventSpec) Check(org.eclipse.xtext.validation.Check)

Example 2 with 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;
}
Also used : Event(org.yakindu.base.types.Event)

Example 3 with Event

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");
}
Also used : Scope(org.yakindu.sct.model.sgraph.Scope) InterfaceScope(org.yakindu.sct.model.stext.stext.InterfaceScope) Statechart(org.yakindu.sct.model.sgraph.Statechart) Event(org.yakindu.base.types.Event) InterfaceScope(org.yakindu.sct.model.stext.stext.InterfaceScope) Test(org.junit.Test) RefactoringTest(org.yakindu.sct.refactoring.refactor.RefactoringTest)

Example 4 with Event

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());
}
Also used : Scope(org.yakindu.sct.model.sgraph.Scope) InternalScope(org.yakindu.sct.model.stext.stext.InternalScope) InternalScope(org.yakindu.sct.model.stext.stext.InternalScope) Statechart(org.yakindu.sct.model.sgraph.Statechart) Event(org.yakindu.base.types.Event) ExitEvent(org.yakindu.sct.model.stext.stext.ExitEvent) Test(org.junit.Test)

Example 5 with Event

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();
}
Also used : Event(org.yakindu.base.types.Event)

Aggregations

Event (org.yakindu.base.types.Event)8 ExitEvent (org.yakindu.sct.model.stext.stext.ExitEvent)4 EObject (org.eclipse.emf.ecore.EObject)3 Check (org.eclipse.xtext.validation.Check)3 NamedElement (org.yakindu.base.base.NamedElement)3 EntryEvent (org.yakindu.sct.model.stext.stext.EntryEvent)3 Test (org.junit.Test)2 Scope (org.yakindu.sct.model.sgraph.Scope)2 Statechart (org.yakindu.sct.model.sgraph.Statechart)2 AssignmentExpression (org.yakindu.base.expressions.expressions.AssignmentExpression)1 ElementReferenceExpression (org.yakindu.base.expressions.expressions.ElementReferenceExpression)1 Expression (org.yakindu.base.expressions.expressions.Expression)1 FeatureCall (org.yakindu.base.expressions.expressions.FeatureCall)1 PostFixUnaryExpression (org.yakindu.base.expressions.expressions.PostFixUnaryExpression)1 EventRaisingExpression (org.yakindu.sct.model.stext.stext.EventRaisingExpression)1 EventSpec (org.yakindu.sct.model.stext.stext.EventSpec)1 EventValueReferenceExpression (org.yakindu.sct.model.stext.stext.EventValueReferenceExpression)1 InterfaceScope (org.yakindu.sct.model.stext.stext.InterfaceScope)1 InternalScope (org.yakindu.sct.model.stext.stext.InternalScope)1 RegularEventSpec (org.yakindu.sct.model.stext.stext.RegularEventSpec)1