/// <summary> /// Method is allowed to be invoked only once. Therefore the order of loading classes into the Dictionary is /// quite important. /// </summary> /// <param name="host"></param> public static bool LoadPredefinedGenericClasses(IPexComponent host, string assemblyName) { //QuickGraph: TEdge -> Edge<int> TypeEx edgeTypeEx; PreDefinedGenericClassesStore tedgePdgc = new PreDefinedGenericClassesStore(); predefinedClasses.Add("TEdge", tedgePdgc); if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "QuickGraph.Edge`1", out edgeTypeEx)) { tedgePdgc.AddToPredinedStore("QuickGraph.AdjacencyGraph`2", edgeTypeEx); tedgePdgc.AddToPredinedStore("QuickGraph.IGraph`2", edgeTypeEx); } //Dsa: TNode for BinarySearchTree -> Dsa.DataStructures.BinaryTreeNode`1 PreDefinedGenericClassesStore tnodePdgc = new PreDefinedGenericClassesStore(); predefinedClasses.Add("TNode", tnodePdgc); TypeEx binNodeEx; if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "Dsa.DataStructures.BinaryTreeNode`1", out binNodeEx)) { tnodePdgc.AddToPredinedStore("Dsa.DataStructures.BinarySearchTree`1", binNodeEx); tnodePdgc.AddToPredinedStore("Dsa.DataStructures.CommonBinaryTree`2", binNodeEx); tnodePdgc.AddToPredinedStore("System.Collections.Generic.Queue`1", binNodeEx); } TypeEx avltreeNodeEx = null; if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "Dsa.DataStructures.AvlTreeNode`1", out avltreeNodeEx)) { tnodePdgc.AddToPredinedStore("Dsa.DataStructures.AvlTree`1", avltreeNodeEx); tnodePdgc.AddToPredinedStore("Dsa.DataStructures.CommonBinaryTree`2", avltreeNodeEx); tnodePdgc.AddToPredinedStore("System.Collections.Generic.Queue`1", avltreeNodeEx); } return(true); }
/// <summary> /// Method is allowed to be invoked only once. Therefore the order of loading classes into the Dictionary is /// quite important. /// </summary> /// <param name="host"></param> public static bool LoadPredefinedGenericClasses(IPexComponent host, string assemblyName) { //QuickGraph: TEdge -> Edge<int> TypeEx edgeTypeEx; PreDefinedGenericClassesStore tedgePdgc = new PreDefinedGenericClassesStore(); predefinedClasses.Add("TEdge", tedgePdgc); if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "QuickGraph.Edge`1", out edgeTypeEx)) { tedgePdgc.AddToPredinedStore("QuickGraph.AdjacencyGraph`2", edgeTypeEx); tedgePdgc.AddToPredinedStore("QuickGraph.IGraph`2", edgeTypeEx); } //Dsa: TNode for BinarySearchTree -> Dsa.DataStructures.BinaryTreeNode`1 PreDefinedGenericClassesStore tnodePdgc = new PreDefinedGenericClassesStore(); predefinedClasses.Add("TNode", tnodePdgc); TypeEx binNodeEx; if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "Dsa.DataStructures.BinaryTreeNode`1", out binNodeEx)) { tnodePdgc.AddToPredinedStore("Dsa.DataStructures.BinarySearchTree`1", binNodeEx); tnodePdgc.AddToPredinedStore("Dsa.DataStructures.CommonBinaryTree`2", binNodeEx); tnodePdgc.AddToPredinedStore("System.Collections.Generic.Queue`1", binNodeEx); } TypeEx avltreeNodeEx = null; if (MethodOrFieldAnalyzer.TryGetTypeExFromName(host, assemblyName, "Dsa.DataStructures.AvlTreeNode`1", out avltreeNodeEx)) { tnodePdgc.AddToPredinedStore("Dsa.DataStructures.AvlTree`1", avltreeNodeEx); tnodePdgc.AddToPredinedStore("Dsa.DataStructures.CommonBinaryTree`2", avltreeNodeEx); tnodePdgc.AddToPredinedStore("System.Collections.Generic.Queue`1", avltreeNodeEx); } return true; }