coan 4.2.4
The Report component internals
Collaboration diagram for The Report component internals:

Modules

 Macro-generated code

Files

file  report.c

Functions

static char const * get_comment_type_name (void)
static char const * get_linestate_name (void)
static char const * if_state_name (void)
static char const * get_linetype_name (line_type_t type)
static size_t vformat_output (void *dest, int *buflen, int *startoff, char const *format, va_list argp)
static void vreport (reason_code_t reason, heap_str *buf, const char *format, va_list argp)

Variables

static char const *const comment_name []
static char const *const linestate_name []
static char const *const ifstate_name []
static char const *const linetype_name []

Detailed Description

internals


Function Documentation

static char const* get_comment_type_name ( void  ) [static]

Get the debugging name of the current comment state

Returns:
A pointer to the name in static storage.

Definition at line 95 of file report.c.

References comment_name, and GET_PUBLIC.

Referenced by debug().

static char const* get_linestate_name ( void  ) [static]

Get the debugging name of the current line state

Returns:
A pointer to the name in static storage.

Definition at line 104 of file report.c.

References GET_PUBLIC, and linestate_name.

Referenced by debug().

static char const* get_linetype_name ( line_type_t  type) [static]

Get the debugging name of a line type.

Parameters:
typeThe line type whose name is wanted.
Returns:
The debugging name of type.

Definition at line 124 of file report.c.

References linetype_name.

Referenced by debug().

static char const* if_state_name ( void  ) [static]

Get the debugging name of the current hash-if state

Returns:
A pointer to the name in static storage.

Definition at line 113 of file report.c.

References if_state(), and ifstate_name.

Referenced by debug().

Here is the call graph for this function:

static size_t vformat_output ( void *  dest,
int *  buflen,
int *  startoff,
char const *  format,
va_list  argp 
) [static]

Compose an output message.

The function interface is the same as that of format_output(), with the exception that the parameter va_list argp is a pointer that the caller has initialised with va_start() to address a list of unspecified arguments.

Definition at line 139 of file report.c.

References reallocate(), release(), and zallocate().

Referenced by format_output(), and vreport().

Here is the call graph for this function:

static void vreport ( reason_code_t  reason,
heap_str buf,
const char *  format,
va_list  argp 
) [static]

Produce a diagnostic message. The function interface is the same as that of report(), with the exception that the parameter va_list argp is a pointer that the caller has initialised with va_start() to address a list of unspecified arguments.

All diagnostic messages are ultimately composed and output by this function.

Definition at line 209 of file report.c.

References format_output(), GET_PUBLIC, if_depth(), if_start_line(), ISSUE_MASK, MSGCLASS_ABEND, MSGCLASS_ERROR, MSGCLASS_INFO, MSGCLASS_NONE, MSGCLASS_PROGRESS, MSGCLASS_WARNING, MSGEVENT_MASK, MSGSEVERITY_MASK, release(), report(), SET_STATE, and vformat_output().

Referenced by debug(), report(), and vbail().

Here is the call graph for this function:


Variable Documentation

char const* const comment_name[] [static]
Initial value:
 {
    "NO","C","CXX",     "STARTING",     "FINISHING","PSEUDO"
}

Prefixes for debugging names of the comment states

Definition at line 58 of file report.c.

Referenced by get_comment_type_name().

char const* const ifstate_name[] [static]
Initial value:
 {
    "OUTSIDE", "FALSE_PREFIX", "TRUE_PREFIX",
    "PASS_MIDDLE", "FALSE_MIDDLE", "TRUE_MIDDLE",
    "PASS_ELSE", "FALSE_ELSE", "TRUE_ELSE",
    "FALSE_TRAILER"
}

Debugging names of the hash-if states

Definition at line 68 of file report.c.

Referenced by if_state_name().

char const* const linestate_name[] [static]
Initial value:
 {
    "VACANT","DIRECTIVE","CODE"
}

Prefixes for debugging names of the line states

Definition at line 63 of file report.c.

Referenced by get_linestate_name().

char const* const linetype_name[] [static]
Initial value:
 {
    "TRUEI", "FALSEI", "IF", "TRUE", "FALSE",
    "ELIF", "ELTRUE", "ELFALSE", "ELSE", "ENDIF",
    "DODGY TRUEI", "DODGY FALSEI",
    "DODGY IF", "DODGY TRUE", "DODGY FALSE",
    "DODGY ELIF", "DODGY ELTRUE", "DODGY ELFALSE",
    "DODGY ELSE", "DODGY ENDIF",
    "PLAIN", "EOF",
    "CONSISTENT DEFINE KEEP","CONSISTENT DEFINE DROP",
    "CONTRADICTORY DEFINE","DIFFERING DEFINE",
    "CONSISTENT UNDEF KEEP", "CONSISTENT UNDEF DROP",
    "CONTRADICTORY UNDEF"
}

Debugging names of the input line types

Definition at line 76 of file report.c.

Referenced by debug(), and get_linetype_name().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines