Skip to content
This repository was archived by the owner on Jul 12, 2022. It is now read-only.

Conversation

@jaredpar
Copy link
Member

This contains bug fixes for #68, #69 and #71

Rename the using location rule to be UsingLocationRule.  This more
closely signifies the behavior.
This changes the move usings outside of a namespace rule to be very wary
of #if directives.  There is simply no safe way to move a directive of
the following nature:

``` csharp
namespace NS1
{
#if COND
using NS2;
class C { }
#else
using NS3;
class C { }
#endif
```

Lacking a good API to detect a using inside a #if directive we simply
abandon this rule if there are any #if directives in the file.

closes dotnet#71
Add a test that verifies we don't do any moves when there are multiple
namespaces in the file.  There is no way to safely move a using in this
case using only syntax information.

This move effectively adds new namespaces at a global level which used
to be local to a namespace.  This means extension methods and types from
this namespace will affect compilation in all namespaces.  This can
introduce both compilation errors or even worse silently change overload
resolution in the file.
Added a regression test to ensure a nested struct is tagged with private
visibility instead of internal.

Related to dotnet#70
Added a regression test to ensure that private fields used off of a
non-this instance are renamed correctly during a field rename.

closes dotnet#69
Ensure that delegate field renames causes the invocation to be renamed
as well.

closes dotnet#68
@khellang
Copy link
Member

👍

jaredpar added a commit that referenced this pull request Feb 19, 2015
@jaredpar jaredpar merged commit 3fd4df0 into dotnet:master Feb 19, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants