static chunk_t *chunk_get_ncnlnp(chunk_t *cur, const nav_t nav, const loc_t dir) { chunk_t *pc = cur; pc = (chunk_is_preproc(pc) == true) ? chunk_search(pc, chunk_is_comment_or_newline_in_preproc, nav, dir, false) : chunk_search(pc, chunk_is_comment_newline_or_preproc, nav, dir, false); return(pc); }
static chunk_t *chunk_get_ncnlnp(chunk_t *cur, const scope_e scope, const direction_e dir) { chunk_t *pc = cur; pc = (chunk_is_preproc(pc) == true) ? chunk_search(pc, chunk_is_comment_or_newline_in_preproc, scope, dir, false) : chunk_search(pc, chunk_is_comment_newline_or_preproc, scope, dir, false); return(pc); }
static chunk_t *chunk_get_ncnlnpnd(chunk_t *cur, const scope_e scope, const direction_e dir) { search_t search_function = select_search_fct(dir); chunk_t *pc = cur; do // loop over the chunk list { pc = search_function(pc, scope); // in either direction while } while ( pc != nullptr // the end of the list was not reached yet && !chunk_is_comment_or_newline(pc) && !chunk_is_preproc(pc) && (pc->type == CT_DC_MEMBER)); return(pc); }
/** * Gets the prev non-NEWLINE and non-comment chunk, non-preprocessor chunk */ chunk_t *chunk_get_prev_ncnlnp(chunk_t *cur, chunk_nav_t nav) { chunk_t *pc = cur; if (chunk_is_preproc(cur)) { do { pc = chunk_get_prev(pc, nav); } while ((pc != NULL) && chunk_is_preproc(pc) && (chunk_is_comment(pc) || chunk_is_newline(pc))); } else { do { pc = chunk_get_prev(pc, nav); } while ((pc != NULL) && (chunk_is_comment(pc) || chunk_is_newline(pc) || chunk_is_preproc(pc))); } return(pc); }