GDB (xrefs)
Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/go-lang.c File Reference
#include "defs.h"
#include "gdb_assert.h"
#include "gdb_obstack.h"
#include "gdb_string.h"
#include "block.h"
#include "symtab.h"
#include "language.h"
#include "go-lang.h"
#include "c-lang.h"
#include "parser-defs.h"
#include <ctype.h>

Go to the source code of this file.

Enumerations

enum  go_primitive_types {
  go_primitive_type_void, go_primitive_type_char, go_primitive_type_bool, go_primitive_type_int,
  go_primitive_type_uint, go_primitive_type_uintptr, go_primitive_type_int8, go_primitive_type_int16,
  go_primitive_type_int32, go_primitive_type_int64, go_primitive_type_uint8, go_primitive_type_uint16,
  go_primitive_type_uint32, go_primitive_type_uint64, go_primitive_type_float32, go_primitive_type_float64,
  go_primitive_type_complex64, go_primitive_type_complex128, nr_go_primitive_types
}

Functions

const char * go_main_name (void)
static int gccgo_string_p (struct type *type)
static int sixg_string_p (struct type *type)
enum go_type go_classify_struct_type (struct type *type)
static void unpack_package_and_object (char *buf, const char **packagep, const char **objectp)
static char * unpack_mangled_go_symbol (const char *mangled_name, const char **packagep, const char **objectp, const char **method_type_packagep, const char **method_type_objectp, int *method_type_is_pointerp)
char * go_demangle (const char *mangled_name, int options)
char * go_symbol_package_name (const struct symbol *sym)
char * go_block_package_name (const struct block *block)
static void go_language_arch_info (struct gdbarch *gdbarch, struct language_arch_info *lai)
static void * build_go_types (struct gdbarch *gdbarch)
struct builtin_go_typebuiltin_go_type (struct gdbarch *gdbarch)
void _initialize_go_language (void)

Variables

static const char GO_MAIN_MAIN [] = "main.main"
static struct op_print go_op_print_tab []
static struct language_defn go_language_defn
static struct gdbarch_datago_type_data
initialize_file_ftype _initialize_go_language

Enumeration Type Documentation

Enumerator:
go_primitive_type_void 
go_primitive_type_char 
go_primitive_type_bool 
go_primitive_type_int 
go_primitive_type_uint 
go_primitive_type_uintptr 
go_primitive_type_int8 
go_primitive_type_int16 
go_primitive_type_int32 
go_primitive_type_int64 
go_primitive_type_uint8 
go_primitive_type_uint16 
go_primitive_type_uint32 
go_primitive_type_uint64 
go_primitive_type_float32 
go_primitive_type_float64 
go_primitive_type_complex64 
go_primitive_type_complex128 
nr_go_primitive_types 

Definition at line 485 of file go-lang.c.


Function Documentation

void _initialize_go_language ( void  )

Definition at line 661 of file go-lang.c.

References add_language(), build_go_types(), and gdbarch_data_register_post_init().

static void* build_go_types ( struct gdbarch gdbarch) [static]
struct builtin_go_type* builtin_go_type ( struct gdbarch gdbarch) [read]

Definition at line 653 of file go-lang.c.

References gdbarch_data().

Referenced by build_go_types(), go_language_arch_info(), and parse_go_float().

static int gccgo_string_p ( struct type type) [static]
char* go_block_package_name ( const struct block block)

Definition at line 422 of file go-lang.c.

References BLOCK_FUNCTION, BLOCK_SUPERBLOCK, and go_symbol_package_name().

Referenced by classify_name().

enum go_type go_classify_struct_type ( struct type type)

Definition at line 121 of file go-lang.c.

References CHECK_TYPEDEF, gccgo_string_p(), GO_TYPE_NONE, GO_TYPE_STRING, and sixg_string_p().

Referenced by go_val_print().

char* go_demangle ( const char *  mangled_name,
int  options 
)
static void go_language_arch_info ( struct gdbarch gdbarch,
struct language_arch_info lai 
) [static]
const char* go_main_name ( void  )

Definition at line 56 of file go-lang.c.

References GO_MAIN_MAIN, and lookup_minimal_symbol().

Referenced by find_main_name().

char* go_symbol_package_name ( const struct symbol sym)
static int sixg_string_p ( struct type type) [static]

Definition at line 107 of file go-lang.c.

References TYPE_NFIELDS, and TYPE_TAG_NAME.

Referenced by go_classify_struct_type().

static char* unpack_mangled_go_symbol ( const char *  mangled_name,
const char **  packagep,
const char **  objectp,
const char **  method_type_packagep,
const char **  method_type_objectp,
int method_type_is_pointerp 
) [static]

Definition at line 184 of file go-lang.c.

References gdb_assert, len, p, strchr(), strrchr(), and unpack_package_and_object().

Referenced by go_demangle(), and go_symbol_package_name().

static void unpack_package_and_object ( char *  buf,
const char **  packagep,
const char **  objectp 
) [static]

Definition at line 140 of file go-lang.c.

References gdb_assert, and strrchr().

Referenced by unpack_mangled_go_symbol().


Variable Documentation

Referenced by initialize_all_files().

Definition at line 560 of file go-lang.c.

const char GO_MAIN_MAIN[] = "main.main" [static]

Definition at line 48 of file go-lang.c.

Referenced by go_main_name().

struct op_print go_op_print_tab[] [static]

Definition at line 451 of file go-lang.c.

struct gdbarch_data* go_type_data [static]

Definition at line 650 of file go-lang.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines