Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

IDE project per-file deltas are not as accurate as they could be #164

@markfinal

Description

@markfinal

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?

Metadata

Metadata

Assignees

Labels

BacklogFor reconsideration at a later dateRetestPlease retest this against latest codeenhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions