Open andry-tino opened 7 years ago
When translating, it is possible that the source code defines types with the same name as types in MsCoreLib.dll and includes both namespaces, thus generating a clash.
MsCoreLib.dll
The source code might define an interface:
namespace MyNamespace { namespace MySubnamespace { public interface INotifyCompletion { } } }
However we have that interface also in MsCoreLibe: System.Runtime.CompilerServices.INotifyCompletion.
MsCoreLibe
System.Runtime.CompilerServices.INotifyCompletion
Especially when using syntax transformation (which rearranges using directives), we might end up in this situation:
using
using System.Runtime.CompilerServices; using MyNamespace.MySubnamespace; public class MyClass { protected INotifyCompletion notifier; // Name clash }
When processing notifier, the semantic model detects an ambiguity.
notifier
To verify, with the new system as per #41, this should not happen
When translating, it is possible that the source code defines types with the same name as types in
MsCoreLib.dll
and includes both namespaces, thus generating a clash.The source code might define an interface:
However we have that interface also in
MsCoreLibe
:System.Runtime.CompilerServices.INotifyCompletion
.Especially when using syntax transformation (which rearranges
using
directives), we might end up in this situation:When processing
notifier
, the semantic model detects an ambiguity.