Lines Matching defs:node

58 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) {
65 // If a node has no successor it is on the "frontier", while a node
90 if (node->pred_size() != 1 || node->succ_size() != 1)
93 const ExplodedNode *pred = *(node->pred_begin());
97 const ExplodedNode *succ = *(node->succ_begin());
103 ProgramPoint progPoint = node->getLocation();
116 ProgramStateRef state = node->getState();
155 void ExplodedGraph::collectNode(ExplodedNode *node) {
156 // Removing a node means:
157 // (a) changing the predecessors successor to the successor of this node
158 // (b) changing the successors predecessor to the predecessor of this node
159 // (c) Putting 'node' onto freeNodes.
160 assert(node->pred_size() == 1 || node->succ_size() == 1);
161 ExplodedNode *pred = *(node->pred_begin());
162 ExplodedNode *succ = *(node->succ_begin());
165 FreeNodes.push_back(node);
166 Nodes.RemoveNode(node);
168 node->~ExplodedNode();
183 for (const auto node : ChangedNodes)
184 if (shouldCollect(node))
185 collectNode(node);
196 // common case of single-node NodeGroups to be implemented with no extra memory.
201 // 3. The group contains a single node.
202 // 4. The group contains more than one node.
212 void ExplodedNode::NodeGroup::replaceNode(ExplodedNode *node) {
217 Storage = node;
234 // Switch from single-node to multi-node representation.
297 // Find the node's current statement in the CFG.
332 // Otherwise, see if the node's program point directly points to a statement.
399 // Profile 'State' to determine if we already have an existing node.
412 // Allocate a new node.
422 // Insert the node into the node set and return it.
467 // Have we already visited this node? If so, continue to the next one.
492 // Skip this node if we have already processed it.
496 // Create the corresponding node in the new graph and record the mapping
497 // from the old node to the new node.
502 // Also record the reverse mapping from the new node to the old node.
505 // If this node is a root, designate it as such in the graph.
513 // nodes in the new graph (if any) to the freshly created node.