| 309 | } |
| 310 | |
| 311 | uint *AST_GetClauseIndices |
| 312 | ( |
| 313 | const AST *ast, |
| 314 | cypher_astnode_type_t clause_type |
| 315 | ) { |
| 316 | uint *clause_indices = array_new(uint, 1); |
| 317 | uint clause_count = cypher_ast_query_nclauses(ast->root); |
| 318 | for(uint i = 0; i < clause_count; i ++) { |
| 319 | if(cypher_astnode_type(cypher_ast_query_get_clause(ast->root, i)) == clause_type) { |
| 320 | array_append(clause_indices, i); |
| 321 | } |
| 322 | } |
| 323 | return clause_indices; |
| 324 | } |
| 325 | |
| 326 | uint AST_GetClauseCount(const AST *ast, cypher_astnode_type_t clause_type) { |
| 327 | uint clause_count = cypher_ast_query_nclauses(ast->root); |
no outgoing calls