private void ResolveFromParent(BcsExpressionNode parentNode) { foreach (var childNode in parentNode.EnumerateChildNodes()) { childNode.ParentNode = parentNode; } }
public void Visit(BcsExpressionNode node) { if (node is BcsAtomicAgentNode) { VisitAgent(node as BcsAtomicAgentNode); } else if (node is BcsAgentStateNode) { VisitAgentState(node as BcsAgentStateNode); } else if (node is BcsComponentNode) { VisitComponent(node as BcsComponentNode); } else if (node is BcsComplexNode) { VisitComplex(node as BcsComplexNode); } else if (node is BcsReactantNode) { VisitReactant(node as BcsReactantNode); } else if (node is BcsReactionNode) { VisitReaction(node as BcsReactionNode); } else if(node is BcsLocationNode) { VisitLocation(node as BcsLocationNode); } else { VisitDefault(node); } var children = node.EnumerateChildNodes().ToList(); foreach (var childNode in children) { Visit(childNode); } }