Introduced new InheritsAttribute custom attribute class in the Starcounter assembly.
Added new IsIneritsReference property in the weaver metadata DatabaseAttribute class.
Extended the weaver analyzer to detect database attributes decorated with the new Inherits custom attribute and emit such information into the serialized weaver schema if found.
Simple refactoring of weaver DynamicTypesHelper class.
Added new error code ScErrInvalidInheritsReference to be used when a database attribute is decorated with the Inherits custom attribute but violates its constraints.
Added stub method ValidateInheritsReference in weaver DynamicTypesHelper class.
Implemented DynamicTypesHelper.ValidateInheritsReference and made sure it is invoked during weaver analysis.
Extended DynamicTypesHelper.ValidateDatabaseAttribute to validate dynamic type custom attributes are not used in an uncompatible way, applied to the same target.
Extended IDbState and DbStateRedirect with methods Read- and WriteInherits, intended to replace database class attributes with [Inherits] when redirecting of the backbone is specified in the weaver.
Added methods Read- and WriteInherits to DbState, intended to replace application level fields marked with the [Inherits] attribute when weaved. Currently, calling these methods just forward the call to Read- and WriteObject respectively.
Tuned the weaver to replace fields with the [Inherits] attribute to newly introduced Read- and WriteInherits methods of DbState respectively.
Merge branch 'develop' into issue/2266
Merge branch 'issue/2266' into develop. Thess commits implement #2266 as it is described in the initial post of the issue, i.e. introducing the new [Inherits] attribute in the programming model and have it processed by the weaver.
Introduced new TypeNameAttribute class in th Starcounter assembly.
Added new property IsTypeName to weaver metadata DatabaseAttribute class.
Made weaver analyzer detect fields with the TypeName attribute and emit such info into the metadata model.
Improved weaver DatabaseAttribute.ToString to display whatever dynamic type decorations are applied to a given attrbute in "scweaver schema app.exe"
Added new error code ScErrInvalidTypeName, dedicated to be used when the [TypeName] attribute is wrongly used.
Added new method ValidateTypeName in weaver analyzer DynamicTypesHelper class. This method validates attributes tagged with the the [TypeName] attribute.
Implemented new validation of [TypeName] attributes, capturing cases where more than one field is marked as such.