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); }
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); }