We're updating the issue view to help you get more done.Learn more

Limit assumed_value to C_PRIMITIVE_OBJECT

The attribute "assumed_value" from C_DEFINED_OBJECT cannot be sensibly implemented in the subclass C_COMPLEX_OBJECT. The only two subtypes that support "assumed_value" are C_DOMAIN_TYPE and C_PRIMITIVE_OBJECT. In the specs, the text says "Assumed values are definable at the leaf level only, which appears to be adequate for all purposes
described to date; accordingly, they appear in descendants of C_PRIMITIVE and also C_DOMAIN_TYPE."

Does this suggest that perhaps C_COMPLEX_OBJECT should really inherit directly from C_OBJECT instead of C_DEFINED_OBJECT or move the attribute "assumed_value" to yet another abstract class "C_LEAF_TYPE"?

Status

Assignee

Thomas Beale

Reporter

Rong Chen

Raised By

Rong Chen

Impact Analysis

Should result in a simplification in implementations, since assumed values only exist in real archetypes on primitive type nodes, this change enables software to reflect that.

Analyst

Thomas Beale

Change Description

Remove assumed_value from all classes except C_PRIMITIVE_OBJECT.

Time estimate

4h

Components

Fix versions

Affects versions

ADL 1.4

Due date

2015/11/30

Priority

Minor