Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

cplus-dem.c File Reference

#include <ctype.h>
#include <sys/types.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "demangle.h"

Go to the source code of this file.

Classes

struct  optable
struct  string
struct  work_stuff

Defines

#define CURRENT_DEMANGLING_STYLE   work->options
#define xmalloc   malloc
#define xrealloc   realloc
#define min(X, Y)   (((X) < (Y)) ? (X) : (Y))
#define INTBUF_SIZE   32
#define CPLUS_MARKER   '$'
#define PRINT_ANSI_QUALIFIERS   (work -> options & DMGL_ANSI)
#define PRINT_ARG_TYPES   (work -> options & DMGL_PARAMS)
#define STRING_EMPTY(str)   ((str) -> b == (str) -> p)
#define PREPEND_BLANK(str)
#define APPEND_BLANK(str)
#define LEN_STRING(str)   ( (STRING_EMPTY(str))?0:((str)->p - (str)->b))
#define SCOPE_STRING(work)   ((work->options & DMGL_JAVA) ? "." : "::")
#define ARM_VTABLE_STRING   "__vtbl__"
#define ARM_VTABLE_STRLEN   8
#define TYPE_UNQUALIFIED   0x0
#define TYPE_QUAL_CONST   0x1
#define TYPE_QUAL_VOLATILE   0x2
#define TYPE_QUAL_RESTRICT   0x4

Typedefs

typedef string string
typedef enum type_kind_t type_kind_t

Enumerations

enum  type_kind_t {
  tk_none, tk_pointer, tk_reference, tk_integral,
  tk_bool, tk_char, tk_real
}

Functions

void fancy_abort (void)
void set_cplus_marker_for_demangling (int ch)
int cplus_demangle_opname (char *opname, char *result, int options) const
const char * cplus_mangle_opname (char *opname, int options) const
char * cplus_demangle (char *mangled, int options) const

Variables

enum demangling_styles current_demangling_style = gnu_demangling


Define Documentation

#define APPEND_BLANK str   ) 
 

Value:

{if (!STRING_EMPTY(str)) \
    string_append(str, " ");}

Definition at line 254 of file cplus-dem.c.

#define ARM_VTABLE_STRING   "__vtbl__"
 

Definition at line 262 of file cplus-dem.c.

#define ARM_VTABLE_STRLEN   8
 

Definition at line 263 of file cplus-dem.c.

#define CPLUS_MARKER   '$'
 

Definition at line 94 of file cplus-dem.c.

#define CURRENT_DEMANGLING_STYLE   work->options
 

Definition at line 44 of file cplus-dem.c.

#define INTBUF_SIZE   32
 

Definition at line 54 of file cplus-dem.c.

#define LEN_STRING str   )     ( (STRING_EMPTY(str))?0:((str)->p - (str)->b))
 

Definition at line 256 of file cplus-dem.c.

#define min X,
 )     (((X) < (Y)) ? (X) : (Y))
 

Definition at line 50 of file cplus-dem.c.

Referenced by AnalyserOutput::prevLine().

#define PREPEND_BLANK str   ) 
 

Value:

{if (!STRING_EMPTY(str)) \
    string_prepend(str, " ");}

Definition at line 252 of file cplus-dem.c.

#define PRINT_ANSI_QUALIFIERS   (work -> options & DMGL_ANSI)
 

Definition at line 147 of file cplus-dem.c.

#define PRINT_ARG_TYPES   (work -> options & DMGL_PARAMS)
 

Definition at line 148 of file cplus-dem.c.

#define SCOPE_STRING work   )     ((work->options & DMGL_JAVA) ? "." : "::")
 

Definition at line 260 of file cplus-dem.c.

#define STRING_EMPTY str   )     ((str) -> b == (str) -> p)
 

Definition at line 251 of file cplus-dem.c.

#define TYPE_QUAL_CONST   0x1
 

Definition at line 417 of file cplus-dem.c.

#define TYPE_QUAL_RESTRICT   0x4
 

Definition at line 419 of file cplus-dem.c.

#define TYPE_QUAL_VOLATILE   0x2
 

Definition at line 418 of file cplus-dem.c.

#define TYPE_UNQUALIFIED   0x0
 

Definition at line 416 of file cplus-dem.c.

#define xmalloc   malloc
 

Definition at line 47 of file cplus-dem.c.

#define xrealloc   realloc
 

Definition at line 48 of file cplus-dem.c.


Typedef Documentation

typedef struct string string
 

Referenced by ht_undo_data_delete_string::combine(), format_string_to_offset_if_avail(), ht_listpopup::insertstring(), ht_listpopup_dialog::insertstring(), memrchr(), ht_object_stream_memmap::putString(), ht_object_stream_txt::putString(), ht_object_stream_bin::putString(), re_match(), re_search(), regexec(), ht_uformat_viewer::render_tagstring_desc(), ht_registry::set_string(), ht_format_viewer::string_to_offset(), ht_format_viewer::string_to_pos(), ht_format_viewer::string_to_qword(), tag_make_ref(), tag_make_ref_len(), and tag_make_sel().

typedef enum type_kind_t type_kind_t
 


Enumeration Type Documentation

enum type_kind_t
 

Enumeration values:
tk_none 
tk_pointer 
tk_reference 
tk_integral 
tk_bool 
tk_char 
tk_real 

Definition at line 240 of file cplus-dem.c.


Function Documentation

char* cplus_demangle char *  mangled,
int  options
const
 

Definition at line 786 of file cplus-dem.c.

References current_demangling_style, DMGL_STYLE_MASK, and options.

int cplus_demangle_opname char *  opname,
char *  result,
int  options
const
 

Definition at line 604 of file cplus-dem.c.

References string::b, len, NULL, options, and string::p.

const char* cplus_mangle_opname char *  opname,
int  options
const
 

Definition at line 739 of file cplus-dem.c.

References DMGL_ANSI, len, and options.

void fancy_abort void   ) 
 

void set_cplus_marker_for_demangling int  ch  ) 
 

Definition at line 104 of file cplus-dem.c.


Variable Documentation

enum demangling_styles current_demangling_style = gnu_demangling
 

Definition at line 97 of file cplus-dem.c.

Referenced by cplus_demangle().


Generated on Fri May 7 21:15:47 2004 by doxygen 1.3.5