Example #1
0
 //compound
 //xxx may want to remove references to global identikeys (optimization)
 public static HashSet<Identifier> depends(Node_Compound node)
 {
     HashSet<Identifier> idents = unionChildDepends(node);
     foreach( INode_Expression member in node.members ) {
     if( member is Node_DeclareAssign )
         idents.Remove( (member as Node_DeclareAssign).name.value );
     else if( member is Node_DeclareEmpty )
         idents.Remove( (member as Node_DeclareEmpty).name.value );
     }
     return idents;
 }
 protected virtual XmlElement serialize(Node_Compound node)
 {
     XmlElement elem = _doc.CreateElement(node.typeName, desible1NS);
     append<INode_Expression>(elem, node.@exposes, "expose");
     append<INode_StatementDeclaration>(elem, node.@declarations, "declaration");
     append<INode_Expression>(elem, node.@members, "member");
     return elem;
 }
 public static void reserve( Node_Compound node, IScope scope )
 {
     foreach(INode_Expression child in node.members)
     reserveAny(child, scope);
 }