Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–64 unchanged (64 lines)
65void Table_setPanel(Table* this, struct Panel_* panel);
66
67void Table_printHeader(const Settings* settings, RichString* header);
68
69void Table_add(Table* this, struct Row_* row);
70
71void Table_removeIndex(Table* this, const struct Row_* row, int idx);
72
73void Table_updateDisplayList(Table* this);
74
75void Table_expandTree(Table* this);
76
77void Table_collapseAllBranches(Table* this);
…lines 78–96 unchanged (19 lines)

After

…lines 1–63 unchanged (63 lines)
64
65void Table_setPanel(Table* this, struct Panel_* panel);
66
67void Table_printHeader(const Settings* settings, RichString* header);
68
69void Table_add(Table* this, struct Row_* row);
70
71void Table_updateDisplayList(Table* this);
72
73void Table_expandTree(Table* this);
74
75void Table_collapseAllBranches(Table* this);
76
…lines 77–94 unchanged (18 lines)

Before

translation_unit
preproc_ifdef
#ifndef "#ifndef"
identifier "HEADER_Table"
preproc_def
#define "#define"
identifier "HEADER_Table"
comment "/*\nhtop - Table.h\n(C) 2004,2005 Hisham H. Muhammad\n(C) 2023 "...
preproc_include
#include "#include"
system_lib_string "<stdbool.h>"
preproc_include
#include "#include"
string_literal
" "\""
string_content "Hashtable.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Object.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "RichString.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Settings.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Vector.h"
" "\""
struct_specifier
struct "struct"
type_identifier "Machine_"
; ";"
comment "// IWYU pragma: keep"
struct_specifier
struct "struct"
type_identifier "Panel_"
; ";"
comment "// IWYU pragma: keep"
struct_specifier
struct "struct"
type_identifier "Row_"
; ";"
comment "// IWYU pragma: keep"
type_definition (+69 nodes collapsed)
type_definition (+24 nodes collapsed)
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanPrepare"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanIterate"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanCleanup"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition (+34 nodes collapsed)
preproc_function_def
#define "#define"
identifier "As_Table"
preproc_params
( "("
identifier "this_"
) ")"
preproc_arg "((const TableClass*)((this_)->super.klass))"
preproc_function_def
#define "#define"
identifier "Table_scanPrepare"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->prepare ? (As_Table(t_)->prepare(t_)) : Table"...
preproc_function_def
#define "#define"
identifier "Table_scanIterate"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->iterate(t_)) "
comment "/* mandatory; must have a custom iterate method */"
preproc_function_def
#define "#define"
identifier "Table_scanCleanup"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->cleanup ? (As_Table(t_)->cleanup(t_)) : Table"...
declaration (+31 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_done"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
storage_class_specifier
extern "extern"
type_qualifier
const "const"
type_identifier "TableClass"
identifier "Table_class"
; ";"
declaration (+21 nodes collapsed)
declaration (+21 nodes collapsed)
declaration (+21 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_removeIndex"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
, ","
parameter_declaration
type_qualifier
const "const"
struct_specifier
struct "struct"
type_identifier "Row_"
pointer_declarator
* "*"
identifier "row"
, ","
parameter_declaration
primitive_type "int"
identifier "idx"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_updateDisplayList"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_expandTree"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_collapseAllBranches"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_rebuildPanel"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
function_definition (+50 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_prepareEntries"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_cleanupEntries"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration (+23 nodes collapsed)
function_definition (+30 nodes collapsed)
#endif "#endif"

After

translation_unit
preproc_ifdef
#ifndef "#ifndef"
identifier "HEADER_Table"
preproc_def
#define "#define"
identifier "HEADER_Table"
comment "/*\nhtop - Table.h\n(C) 2004,2005 Hisham H. Muhammad\n(C) 2023 "...
preproc_include
#include "#include"
system_lib_string "<stdbool.h>"
preproc_include
#include "#include"
string_literal
" "\""
string_content "Hashtable.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Object.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "RichString.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Settings.h"
" "\""
preproc_include
#include "#include"
string_literal
" "\""
string_content "Vector.h"
" "\""
struct_specifier
struct "struct"
type_identifier "Machine_"
; ";"
comment "// IWYU pragma: keep"
struct_specifier
struct "struct"
type_identifier "Panel_"
; ";"
comment "// IWYU pragma: keep"
struct_specifier
struct "struct"
type_identifier "Row_"
; ";"
comment "// IWYU pragma: keep"
type_definition (+69 nodes collapsed)
type_definition (+24 nodes collapsed)
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanPrepare"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanIterate"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition
typedef "typedef"
primitive_type "void"
function_declarator
parenthesized_declarator
( "("
pointer_declarator
* "*"
type_identifier "Table_ScanCleanup"
) ")"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
type_definition (+34 nodes collapsed)
preproc_function_def
#define "#define"
identifier "As_Table"
preproc_params
( "("
identifier "this_"
) ")"
preproc_arg "((const TableClass*)((this_)->super.klass))"
preproc_function_def
#define "#define"
identifier "Table_scanPrepare"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->prepare ? (As_Table(t_)->prepare(t_)) : Table"...
preproc_function_def
#define "#define"
identifier "Table_scanIterate"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->iterate(t_)) "
comment "/* mandatory; must have a custom iterate method */"
preproc_function_def
#define "#define"
identifier "Table_scanCleanup"
preproc_params
( "("
identifier "t_"
) ")"
preproc_arg "(As_Table(t_)->cleanup ? (As_Table(t_)->cleanup(t_)) : Table"...
declaration (+31 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_done"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
storage_class_specifier
extern "extern"
type_qualifier
const "const"
type_identifier "TableClass"
identifier "Table_class"
; ";"
declaration (+21 nodes collapsed)
declaration (+21 nodes collapsed)
declaration (+21 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_updateDisplayList"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_expandTree"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_collapseAllBranches"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_rebuildPanel"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
function_definition (+50 nodes collapsed)
declaration
primitive_type "void"
function_declarator
identifier "Table_prepareEntries"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration
primitive_type "void"
function_declarator
identifier "Table_cleanupEntries"
parameter_list
( "("
parameter_declaration
type_identifier "Table"
pointer_declarator
* "*"
identifier "this"
) ")"
; ";"
declaration (+23 nodes collapsed)
function_definition (+30 nodes collapsed)
#endif "#endif"