| Summary: | [Flock] ignoring keyword | ||
|---|---|---|---|
| Product: | [Modeling] Epsilon | Reporter: | Louis Rose <louis> |
| Component: | Core | Assignee: | Louis Rose <louis> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | interim | ||
The following syntax has been added:
migrate Foo ignoring a, b {
// do nothing
}
The body of a rule be omitted if an ignoring part is specified:
migrate Foo ignoring a, b
Ignored properties propagate down the type hierarchy:
migrate NamedElement ignoring name
migrate Family {
// migrated.name will always be undefined
}
Checked into SVN. Assigning to Dimitris for build integration, thanks! This was fixed no later than interim build 0.9.0.201104180016. Fixed in 0.9.1 |
Currently, there's no way to indicate to Flock that some properties should not be copied from original to migrated model. The following pattern is used: migrate Foo { migrated.a = null; migrated.b = null; } This is not very concise, inefficient (properties are copied and then unset), and does not take advantage of any default values that might be set in the evolved metamodel. A declarative specification of ignored properties would avoid the above issues.