Project: Composed ValueSpecifications with parameters, variables and expressions

Issue #293 new
Matthias Schoettle created an issue

Right now, when selecting a value to be passed as a parameter, some literal values can be provided or existing properties (references or temporary variables). However, expressions are not possible, for example, lastPositionX + 10 where lastPositionX is an existing property.

Similarly, in a setter, when using an assignment statement, the right-hand side is just text, and will not be updated by the weaver if the setter including the name of the parameter is renamed:

void setName(String name) {
    this.name = name;
}

To support all these cases, the best would probably be a new kind of ValueSpecification which is composed of other ValueSpecifications, like Expression in UML. This would allow to combine our special specifications ParameterValueSpecification and StructuralFeatureValueSpecification with simple specifications to form expressions.

Comments (5)

  1. Matthias Schoettle reporter

    References #293: Makes EnumLiteralValue and Binary subclasses have stateful item providers.

    This allows to receive notifications when a referenced item's properties change.

    → <<cset b46742012b92>>

  2. Matthias Schoettle reporter

    References #293: Improves expression view and its handler.

    Unnecessary things are removed to maintain the default behaviour and notifications are done through item providers instead of maintaining specific lists.

    → <<cset 43c086ca8933>>

  3. Matthias Schoettle reporter

    References #293: Adds changelistener to OperatorItemProvider.

    This allows each of its subclasses to fire a notification if an EnumLiteralValue, ParameterValue or StructuralFeatureValue triggered a notification, because their referenced element (e.g., a parameter) was modified.

    → <<cset ac388f312270>>

  4. Log in to comment