Ejemplo n.º 1
0
        public void SimpleNamespaceLookup()
        {
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolver.ResolveSimpleName("System", new IType[0]);

            Assert.AreEqual("System", nrr.NamespaceName);
            Assert.AreSame(SpecialType.UnknownType, nrr.Type);
        }
Ejemplo n.º 2
0
        public void NamespaceInParentNamespaceLookup()
        {
            var resolverWithUsing      = resolver.WithCurrentUsingScope(MakeUsingScope("System.Collections.Generic"));
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolverWithUsing.ResolveSimpleName("Text", new IType[0]);

            Assert.AreEqual("System.Text", nrr.NamespaceName);
        }
Ejemplo n.º 3
0
        public void FindNeighborNamespace()
        {
            var resolverWithUsing      = resolver.WithCurrentUsingScope(MakeUsingScope("System.Collections"));
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolverWithUsing.ResolveSimpleName("Text", new IType[0]);

            Assert.AreEqual("System.Text", nrr.NamespaceName);
        }
Ejemplo n.º 4
0
        public void ClassWithSameNameAsNamespace()
        {
            string            program = @"using System; namespace XX {
	class Test {
		static void X() {
			a = $;
		}
	}
	class XX {
		public static void Test() {}
	} }"    ;
            TypeResolveResult trr     = Resolve <TypeResolveResult>(program.Replace("$", "$XX$"));

            Assert.AreEqual("XX.XX", trr.Type.FullName);

            NamespaceResolveResult nrr = Resolve <NamespaceResolveResult>(program.Replace("$", "$global::XX$.T"));

            Assert.AreEqual("XX", nrr.NamespaceName);

            trr = Resolve <TypeResolveResult>(program.Replace("$", "$global::XX.XX$"));
            Assert.AreEqual("XX.XX", trr.Type.FullName);

            InvocationResolveResult mrr = Resolve <CSharpInvocationResolveResult>(program.Replace("$", "$XX.Test()$"));

            Assert.AreEqual("XX.XX.Test", mrr.Member.FullName);
        }
Ejemplo n.º 5
0
        public void FindNeighborNamespace()
        {
            resolver.UsingScope = MakeUsingScope("System.Collections");
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolver.ResolveSimpleName("Text", new IType[0]);

            Assert.AreEqual("System.Text", nrr.NamespaceName);
        }
Ejemplo n.º 6
0
        public void AliasOperatorOnNamespaceAlias()
        {
            var resolverWithUsing      = resolver.WithCurrentUsingScope(MakeUsingScope(usingAliases: new [] { new KeyValuePair <string, string>("x", "System.Collections.Generic") }));
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolverWithUsing.ResolveAlias("x");

            Assert.AreEqual("System.Collections.Generic", nrr.NamespaceName);
        }
Ejemplo n.º 7
0
        public void NamespaceInAttributeContext()
        {
            string program = "using System; [$System.Runtime$.CompilerServices.IndexerName(\"bla\")] class Test { }";
            NamespaceResolveResult result = Resolve <NamespaceResolveResult>(program);

            Assert.AreEqual("System.Runtime", result.NamespaceName);
        }
Ejemplo n.º 8
0
        public void AliasOperatorOnNamespaceAlias()
        {
            AddUsingAlias("x", "System.Collections.Generic");
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolver.ResolveAlias("x");

            Assert.AreEqual("System.Collections.Generic", nrr.NamespaceName);
        }
Ejemplo n.º 9
0
		public void ClassNameLookup5()
		{
			string program = @"namespace MainNamespace {
	using A;
	
	class M {
		void X($Test$ a) {}
	}
	namespace Test { class B {} }
}

namespace A {
	class Test {}
}";
			NamespaceResolveResult nrr = Resolve<NamespaceResolveResult>(program);
			Assert.AreEqual("MainNamespace.Test", nrr.NamespaceName);
		}
Ejemplo n.º 10
0
		public void ClassNameLookup4()
		{
			string program = @"using Test.Subnamespace;
namespace MainNamespace {
	class Program {
		static void M($Test$ c) {}
	}
}

namespace Test { public class TheClass { } }
namespace Test.Subnamespace {
	public class Test { public class TheClass { } }
}
";
			NamespaceResolveResult nrr = Resolve<NamespaceResolveResult>(program);
			Assert.AreEqual("Test", nrr.NamespaceName);
		}
Ejemplo n.º 11
0
		public void ResolveNamespaceSD_863()
		{
			string program = @"using System;
namespace A.C { class D {} }
namespace A.B.C { class D {} }
namespace A.B {
	class TestClass {
		void Test() {
			C.D x;
		}
	}
}
";
			NamespaceResolveResult nrr = Resolve<NamespaceResolveResult>(program.Replace("C.D", "$C$.D"));
			Assert.AreEqual("A.B.C", nrr.NamespaceName, "nrr.Name");
			TypeResolveResult trr = Resolve<TypeResolveResult>(program.Replace("C.D", "$C.D$"));
			Assert.AreEqual("A.B.C.D", trr.Type.FullName);
		}
Ejemplo n.º 12
0
        public void GlobalIsAlias()
        {
            NamespaceResolveResult nrr = (NamespaceResolveResult)resolver.ResolveAlias("global");

            Assert.AreEqual("", nrr.NamespaceName);
        }
Ejemplo n.º 13
0
 public AliasNamespaceResolveResult(string alias, NamespaceResolveResult underlyingResult) : base(underlyingResult.Namespace)
 {
     this.Alias = alias;
 }