protected virtual XmlElement serialize(Node_Function node) { XmlElement elem = _doc.CreateElement(node.typeName, desible1NS); append<Node_ParameterImpl>(elem, node.@parameterImpls, null); append<INode_Expression>(elem, node.@returnType, "return type"); append<INode_Expression>(elem, node.@body, "body"); return elem; }
//function public static HashSet<Identifier> depends(Node_Function node) { HashSet<Identifier> idents = depends(node.body); foreach( Node_ParameterImpl param in node.parameterImpls ) idents.Remove(param.name.value); foreach( Node_ParameterImpl param in node.parameterImpls ) idents.UnionWith( depends(param) ); idents.UnionWith( depends(node.returnType) ); return idents; }
public Node_GenericFunction( IList<Node_ParameterInfo> @parameters, Node_Function @function, string @nodeSource ) { m_parameters = @parameters; m_function = @function; m_nodeSource = @nodeSource; }
//function public static DependsResults dependsSplit(Node_Function node) { //xxx temporary DependsResults source = new DependsResults(null,null); foreach( Node_ParameterImpl pi in node.parameterImpls ) source.executeDepends.UnionWith(depends(pi)); source.executeDepends.UnionWith(depends(node.returnType)); source.finishDepends.UnionWith(depends(node.body)); return source; }