You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.1 KiB

/**
* @file align_tools.h
*
* @author Guy Maurel
* split from align.cpp
* @author Ben Gardner
* @license GPL v2+
*/
#ifndef ALIGN_TOOLS_H_INCLUDED
#define ALIGN_TOOLS_H_INCLUDED
#include "chunk.h"
#include "uncrustify_types.h"
/**
* @brief return the chunk the follows after a C array
*
* The provided chunk is considered an array if it is an opening square
* (CT_SQUARE_OPEN) and the matching close is followed by an equal sign '='
*
* Example: array[25] = 12;
* /|\ /|\
* | |
* provided chunk has to point to [ |
* returned chunk points to 12
*
* @param chunk chunk to operate on
*
* @return the chunk after the '=' if the check succeeds
* @return Chunk::NullChunkPtr in all other cases
*/
Chunk *skip_c99_array(Chunk *sq_open);
/**
* Scans a line for stuff to align on.
*
* We trigger on BRACE_OPEN, FPAREN_OPEN, ASSIGN, and COMMA.
* We want to align the NEXT item.
*/
Chunk *scan_ib_line(Chunk *start);
void ib_shift_out(size_t idx, size_t num);
Chunk *step_back_over_member(Chunk *pc);
#endif /* ALIGN_TOOLS_H_INCLUDED */