| 202 | // |
| 203 | |
| 204 | InversionNode* Retrieval::composeInversion(InversionNode* node1, |
| 205 | InversionNode* node2, |
| 206 | InversionNode::Type node_type) const |
| 207 | { |
| 208 | if (!node2) |
| 209 | return node1; |
| 210 | |
| 211 | if (!node1) |
| 212 | return node2; |
| 213 | |
| 214 | if (node_type == InversionNode::TYPE_OR) |
| 215 | { |
| 216 | if (node1->type == InversionNode::TYPE_INDEX && |
| 217 | node2->type == InversionNode::TYPE_INDEX && |
| 218 | node1->retrieval->irb_index == node2->retrieval->irb_index) |
| 219 | { |
| 220 | node_type = InversionNode::TYPE_IN; |
| 221 | } |
| 222 | else if (node1->type == InversionNode::TYPE_IN && |
| 223 | node2->type == InversionNode::TYPE_INDEX && |
| 224 | node1->node2->retrieval->irb_index == node2->retrieval->irb_index) |
| 225 | { |
| 226 | node_type = InversionNode::TYPE_IN; |
| 227 | } |
| 228 | } |
| 229 | |
| 230 | return FB_NEW_POOL(getPool()) InversionNode(node_type, node1, node2); |
| 231 | } |
| 232 | |
| 233 | const string& Retrieval::getAlias() |
| 234 | { |
nothing calls this directly
no test coverage detected