Skip to content

Updates are needed to allow better integration with external tools #48

@seidewitz

Description

@seidewitz
  • Metamodel interface updates
    • Allow opaque expressions to have behavior, bodies and languages.
    • Allow properties to have default values.
    • Make value specifications a kind of packageable element.
  • Abstract syntax updates
    • Base line and column positions for a literal expression on the token it is parsed from (instead of the next token, which is the default for most syntax elements).
    • Allow package-level visibility for a member to be recorded explicitly as "package", as well as being the implicit default.
    • Record the generated operation definitions (if any) for default constructors and destructors.
    • Generate the path name for a qualified name so that it is a syntactically legal Alf representation of the qualified name (by using unrestricted name notation were necessary and ensuring space between closing angle brackets).
    • Ensure that the "isVisibleOnly" flag for qualified names with template bindings is propagated to any template argument names before resolution.
    • Allow a bound element reference to conform to another type if it has an existing effective bound element that conforms to that type.
    • Allow the current set of bound classifiers waiting to be instantiated to be saved and restored.
  • Mapping updates
    • Extract mapping code for class initialization into separate methods, to allow overriding.
    • Correct the type of the output pin of the structured activity node generated for an instance creation expression for an active class.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions