Open shivramsrivastava opened 5 years ago
NULL check is done in so many places where it is not required.
eg:- CHECK_NOTNULL(res_node);//there is no operation is done on it just passing to another function.
void FlowGraphManager::UpdateResourceNode( FlowGraphNode res_node, queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) { CHECK_NOTNULL(res_node); UpdateResOutgoingArcs(res_node, node_queue, marked_nodes); }
void FlowGraphManager::UpdateFlowGraph( queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) { CHECK_NOTNULL(node_queue); CHECK_NOTNULL(marked_nodes); //Not required while (!node_queue->empty()) { TDOrNodeWrapper cur_node = node_queue->front(); node_queue->pop(); if (!curnode->node) { // We're handling a task that doesn't have an associated flow graph node. UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes); delete cur_node; continue; } if (curnode->node->IsTaskNode()) { UpdateTaskNode(curnode->node, node_queue, marked_nodes); UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes); } else if (curnode->node->IsEquivalenceClassNode()) { UpdateEquivClassNode(curnode->node, node_queue, marked_nodes); } else if (curnode->node->IsResourceNode()) { UpdateResourceNode(curnode->node, node_queue, marked_nodes); } else { LOG(FATAL) << "Unexpected node type: " << curnode->node->type_; } delete cur_node; }
Note: have reservation that there are multiple NULL check as well present in the code
NULL check is done in so many places where it is not required.
eg:- CHECK_NOTNULL(res_node);//there is no operation is done on it just passing to another function.
void FlowGraphManager::UpdateResourceNode( FlowGraphNode res_node, queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) {
CHECK_NOTNULL(res_node);
UpdateResOutgoingArcs(res_node, node_queue, marked_nodes);
}
void FlowGraphManager::UpdateFlowGraph( queue<TDOrNodeWrapper> node_queue, unordered_set marked_nodes) {
CHECK_NOTNULL(node_queue);
CHECK_NOTNULL(marked_nodes); //Not required
while (!node_queue->empty()) {
TDOrNodeWrapper cur_node = node_queue->front();
node_queue->pop();
if (!curnode->node) {
// We're handling a task that doesn't have an associated flow graph node.
UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes);
delete cur_node;
continue;
}
if (curnode->node->IsTaskNode()) {
UpdateTaskNode(curnode->node, node_queue, marked_nodes);
UpdateChildrenTasks(cur_node->tdptr, node_queue, marked_nodes);
} else if (curnode->node->IsEquivalenceClassNode()) {
UpdateEquivClassNode(curnode->node, node_queue, marked_nodes);
} else if (curnode->node->IsResourceNode()) {
UpdateResourceNode(curnode->node, node_queue, marked_nodes);
} else {
LOG(FATAL) << "Unexpected node type: " << curnode->node->type_;
}
delete cur_node;
}
Note: have reservation that there are multiple NULL check as well present in the code