anz-bank / sysl

Sysl (pronounced "sizzle") is a system specification language
https://sysl.io
Apache License 2.0
122 stars 42 forks source link

Combine type annotations #966

Closed andrewemeryanz closed 4 years ago

andrewemeryanz commented 4 years ago

Purpose

Combine annotations on type entitles in the same manner as application entitles.

Problem

Given the following two files:

parent.sysl:

import child
App [~parent-ann]:
    !type T [~parent-ann]:
        ...

child.sysl:

App [~child-ann]:
    !type T [~child-ann]:
        ...

The following combined sysl is produced:

App [~parent-ann, ~child-ann]:
    !type T [~child-ann]:
        ...

Suggested solution

Combine annotations on type entities in the same manner as application entities:

App [~parent-ann, ~child-ann]:
    !type T [~parent-ann, ~child-ann]:
        ...
orlade-anz commented 4 years ago

Novan is looking at a similar issue, assigned.