private string GetRootCategory() { if (string.IsNullOrEmpty(Assembly)) { return(CoreUtils.IsInternalMethod(FunctionName) ? LibraryServices.Categories.Operators : LibraryServices.Categories.BuiltIns); } LibraryCustomization cust = LibraryCustomizationServices.GetForAssembly(Assembly, pathManager); if (cust != null) { string f = cust.GetNamespaceCategory(Namespace); if (!String.IsNullOrEmpty(f)) { return(f); } } string filename = Path.GetFileNameWithoutExtension(Assembly); return(string.IsNullOrEmpty(Namespace) ? filename : filename + "." + Namespace); }
public void TestNameProvider() { var core = CurrentDynamoModel.EngineController.LibraryServices.LibraryManagementCore; var libraryServices = new LibraryCustomizationServices(CurrentDynamoModel.PathManager); var nameProvider = new NamingProvider(core, libraryServices); ProtoCore.Type t; string name = string.Empty; int typeID = -1; t = ProtoCore.TypeSystem.BuildPrimitiveTypeObject(ProtoCore.PrimitiveType.Integer); name = nameProvider.GetTypeDependentName(t); Assert.AreEqual("num", name); t = ProtoCore.TypeSystem.BuildPrimitiveTypeObject(ProtoCore.PrimitiveType.Double); name = nameProvider.GetTypeDependentName(t); Assert.AreEqual("num", name); t = ProtoCore.TypeSystem.BuildPrimitiveTypeObject(ProtoCore.PrimitiveType.String); name = nameProvider.GetTypeDependentName(t); Assert.AreEqual("str", name); typeID = core.TypeSystem.GetType("Autodesk.DesignScript.Geometry.Point"); t = core.TypeSystem.BuildTypeObject(typeID); name = nameProvider.GetTypeDependentName(t); Assert.AreEqual("point", name); typeID = core.TypeSystem.GetType("Autodesk.DesignScript.Geometry.BoundingBox"); t = core.TypeSystem.BuildTypeObject(typeID); name = nameProvider.GetTypeDependentName(t); Assert.AreEqual("boundingBox", name); t = new ProtoCore.Type(); t.Name = "DummyClassForTest"; t.UID = -1; name = nameProvider.GetTypeDependentName(t); Assert.IsTrue(string.IsNullOrEmpty(name)); }
private void ConvertNodesToCodeImpl(ConvertNodesToCodeCommand command) { var libServices = new LibraryCustomizationServices(pathManager); var namingProvider = new NamingProvider(EngineController.LibraryServices.LibraryManagementCore, libServices); CurrentWorkspace.ConvertNodesToCodeInternal(EngineController, namingProvider); CurrentWorkspace.HasUnsavedChanges = true; }
private void ConvertCurrentWorkspaceToDesignScriptAndSave(string filePathBase) { try { var workspace = CurrentDynamoModel.CurrentWorkspace; var libCore = CurrentDynamoModel.EngineController.LibraryServices.LibraryManagementCore; var libraryServices = new LibraryCustomizationServices(CurrentDynamoModel.PathManager); var nameProvider = new NamingProvider(libCore, libraryServices); var controller = CurrentDynamoModel.EngineController; var resolver = CurrentDynamoModel.CurrentWorkspace.ElementResolver; var namingProvider = new NamingProvider(controller.LibraryServices.LibraryManagementCore, libraryServices); var result = NodeToCodeCompiler.NodeToCode(libCore, workspace.Nodes, workspace.Nodes, namingProvider); NodeToCodeCompiler.ReplaceWithShortestQualifiedName( controller.LibraryServices.LibraryManagementCore.ClassTable, result.AstNodes, resolver); var codegen = new ProtoCore.CodeGenDS(result.AstNodes); var ds = codegen.GenerateCode(); var dsPath = filePathBase + ".ds"; if (File.Exists(dsPath)) { File.Delete(dsPath); } File.WriteAllText(dsPath, ds); } catch { Assert.Inconclusive("The current workspace could not be converted to Design Script."); } }