예제 #1
0
 protected virtual ArrayListSerialized Functions(NodesCollection c, NodeDescriptor d)
 {
     ArrayListSerialized res = new ArrayListSerialized();
     ILisp l = Lisp.Current;
     foreach (Symbol s in l.Interpreter.CurrentPackage.ExternalTable.GetSymbols() ){
         if (s.IsDefined && s.GlobalValue is Front.Lisp.Closure) {
             NodeDescriptor n = c.GetDescriptor(s.GlobalValue);
             n.NodePath = s.Name;
             n.NodeName = s.Name;
             res.Add(n);
             c.Add(n);
         }
     }
     foreach (Symbol s in l.Interpreter.CurrentPackage.InternalTable.GetSymbols()) {
         if (s.IsDefined && s.GlobalValue is Front.Lisp.Closure ) {
             NodeDescriptor n = c.GetDescriptor(s.GlobalValue);
             n.NodePath = s.Name;
             n.NodeName = s.Name;
             res.Add(n);
             c.Add(n);
         }
     }
     return res;
 }
예제 #2
0
 public ArrayListSerialized GetAllChilds(long key)
 {
     if (InnerResultNodes.ContainsKey(key)) {
         ArrayListSerialized ar = InnerResultNodes.GetAllChilds(key);
         if (ar == null)
             return null;
         ArrayListSerialized arKeys = new ArrayListSerialized();
         foreach (object node in ar){
             arKeys.Add (((NodeDescriptor) node).Key);
         }
         return arKeys;
     } else {
         return null;
     }
 }