public void PrepareGeneration() { Database = levelGenData.database; genParams = levelGenData.genParams; moduleHolder = new GameObject(); moduleHolder.name = "Module Holder"; moduleHolder.transform.parent = this.transform.parent; }
public ModuleInstanceCache(ModuleDatabase owner, Assembly assembly) { if (owner == null) { throw new ArgumentNullException("owner"); } if (assembly == null) { throw new ArgumentNullException("assembly"); } this.owner = owner; assemblyInfo = ModuleAssemblyInfo.Get(assembly); dirty = true; assemblyInfo.Inventory.AssertEngineVersion(owner.ManagementConnectionProvider.EngineVersion.Major); }
private async Task CreateDatabaseAsync(IPythonInterpreter interpreter) { var dbs = new ModuleDatabase(Services, Path.GetDirectoryName(TestData.GetDefaultModulePath())); Services.AddService(dbs); var importedModules = interpreter.ModuleResolution.GetImportedModules(); foreach (var m in importedModules.Where(m => m.Analysis is LibraryAnalysis)) { await dbs.StoreModuleAnalysisAsync(m.Analysis, immediate : true); } importedModules = interpreter.TypeshedResolution.GetImportedModules(); foreach (var m in importedModules.Where(m => m.Analysis is LibraryAnalysis)) { await dbs.StoreModuleAnalysisAsync(m.Analysis, immediate : true); } }
public async Task ReturnType() { const string code = @" from module2 import func2 x = func2() "; const string mod2Code = @" class C2: def M1C2(self): return 0 def func2() -> C2: ... "; await TestData.CreateTestSpecificFileAsync("module2.py", mod2Code); var analysis = await GetAnalysisAsync(code); var f2 = analysis.Should().HaveVariable("func2").Which; var analysis2 = ((IPythonFunctionType)f2.Value).DeclaringModule.Analysis; var dbs = new ModuleDatabase(Services, Path.GetDirectoryName(TestData.GetDefaultModulePath())); Services.AddService(dbs); await dbs.StoreModuleAnalysisAsync(analysis2, immediate : true, CancellationToken.None); await Services.GetService <IPythonAnalyzer>().ResetAnalyzer(); var doc = Services.GetService <IRunningDocumentTable>().GetDocument(analysis.Document.Uri); analysis = await doc.GetAnalysisAsync(Timeout.Infinite); var func2 = analysis.Should().HaveFunction("func2").Which; var c2 = func2.Should().HaveSingleOverload() .Which.Should().HaveReturnType("C2").Which; c2.Should().HaveMember <IPythonFunctionType>("M1C2") .Which.Should().HaveSingleOverload() .Which.Should().HaveReturnType(BuiltinTypeId.Int); }