You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 11, 2021. It is now read-only.
Compiler settings are capable of generating a 'delta' for IDE projects. This is because there is a common set of settings for all source files, while each source may differ slightly.
Only compiled objects supports this, so the features are on a subset of Settings classes in BAM, particularly those associated with compilers! (surprise!)
These take the form of 'Empty', 'Intersect', 'Delta' and 'Clone' extension methods on settings interfaces.
Some properties of settings interfaces work nicely with these functions, For example, a TokenizedStringArray can be intersected with another easily, to find the common list of TokenizedStrings between the two.
However, some types, like enums, do not. How do you define the intersection of two enum values?
The current implementation assumes they are the same, until there is a difference, and then there is no common setting whatsoever.
The result of this is that every source file gets a delta, even if 99% of them are identical. This makes it harder to read, and to identify those source files that need different settings.
Although this is correct behaviour, it is not behaviour I would like to continue. Can this be improved?