public void GetModulesThatImportEverythingReturnsSysForFromSysImportAllStatement()
		{
			string code = "from sys import *";
			ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code);
			
			PythonResolverContext resolverContext = new PythonResolverContext(parseInfo);
			
			string[] expectedModules = new string[] { "sys" };
			Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything());
		}
		public void GetModulesThatImportEverythingReturnsEmptyCollectionIfNotImportAll()
		{
			string code = "from math import tan";
			ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code);
			
			PythonResolverContext resolverContext = new PythonResolverContext(parseInfo);
			
			string[] expectedModules = new string[0];
			Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything());
		}
		public void GetModulesThatImportEverythingIgnoresNonFromImportStatement()
		{
			string code = 
				"import math\r\n" +
				"from sys import *";
			ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code);
			
			PythonResolverContext resolverContext = new PythonResolverContext(parseInfo);
			
			string[] expectedModules = new string[] { "sys" };
			Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything());
		}
		MethodGroupResolveResult ResolveMethodFromModulesThatImportEverything(PythonResolverContext resolverContext, MemberName memberName)
		{
			foreach (string module in resolverContext.GetModulesThatImportEverything()) {
				PythonStandardModuleType type = standardModuleResolver.GetStandardModuleType(module);
				if (type != null) {
					MethodGroupResolveResult resolveResult = CreateResolveResult(type, memberName.Type);
					if (resolveResult != null) {
						return resolveResult;
					}
				}
			}
			return null;
		}
 IClass GetClassFromNamespaceThatImportsEverything(string name)
 {
     foreach (string moduleName in resolverContext.GetModulesThatImportEverything())
     {
         string fullyQualifiedName = GetQualifiedClassName(moduleName, name);
         IClass matchedClass       = resolverContext.GetClass(fullyQualifiedName);
         if (matchedClass != null)
         {
             return(matchedClass);
         }
     }
     return(null);
 }
Пример #6
0
 MethodGroupResolveResult ResolveMethodFromModulesThatImportEverything(PythonResolverContext resolverContext, MemberName memberName)
 {
     foreach (string module in resolverContext.GetModulesThatImportEverything())
     {
         PythonStandardModuleType type = standardModuleResolver.GetStandardModuleType(module);
         if (type != null)
         {
             MethodGroupResolveResult resolveResult = CreateResolveResult(type, memberName.Type);
             if (resolveResult != null)
             {
                 return(resolveResult);
             }
         }
     }
     return(null);
 }