2004-09-09 Martin Baulig <martin@ximian.com>
[mono.git] / mono / metadata / debug-mono-symfile.h
index d13afaa7da0b0234ce5b9a51ccd641d3a91505ba..18353d751a33ba0a9dff43ffdc06b839b6df91c7 100644 (file)
@@ -1,3 +1,8 @@
+/*
+ * This header is only installed for use by the debugger:
+ * the structures and the API declared here are not supported.
+ */
+
 #ifndef __MONO_DEBUG_MONO_SYMFILE_H__
 #define __MONO_DEBUG_MONO_SYMFILE_H__
 
@@ -21,49 +26,47 @@ typedef struct MonoDebugLineNumberEntry             MonoDebugLineNumberEntry;
 
 /* Keep in sync with OffsetTable in mcs/class/Mono.CSharp.Debugger/MonoSymbolTable.cs */
 struct MonoSymbolFileOffsetTable {
-       guint32 total_file_size;
-       guint32 data_section_offset;
-       guint32 data_section_size;
-       guint32 source_count;
-       guint32 source_table_offset;
-       guint32 source_table_size;
-       guint32 method_count;
-       guint32 method_table_offset;
-       guint32 method_table_size;
-       guint32 type_count;
+       guint32 _total_file_size;
+       guint32 _data_section_offset;
+       guint32 _data_section_size;
+       guint32 _source_count;
+       guint32 _source_table_offset;
+       guint32 _source_table_size;
+       guint32 _method_count;
+       guint32 _method_table_offset;
+       guint32 _method_table_size;
+       guint32 _type_count;
 };
 
 struct MonoSymbolFileMethodEntry {
-       guint32 source_index;
-       guint32 token;
-       guint32 start_row;
-       guint32 end_row;
-       guint32 class_type_index;
-       guint32 num_parameters;
-       guint32 num_locals;
-       guint32 num_line_numbers;
-       guint32 name_offset;
-       guint32 type_index_table_offset;
-       guint32 local_variable_table_offset;
-       guint32 line_number_table_offset;
-       guint32 num_lexical_blocks;
-       guint32 lexical_block_table_offset;
-       guint32 namespace_idx;
-       guint32 local_names_ambiguous;
+       guint32 _source_index;
+       guint32 _token;
+       guint32 _start_row;
+       guint32 _end_row;
+       guint32 _num_locals;
+       guint32 _num_line_numbers;
+       guint32 _name_offset;
+       guint32 _type_index_table_offset;
+       guint32 _local_variable_table_offset;
+       guint32 _line_number_table_offset;
+       guint32 _num_lexical_blocks;
+       guint32 _lexical_block_table_offset;
+       guint32 _namespace_idx;
+       guint32 _local_names_ambiguous;
 };
 
 struct MonoSymbolFileSourceEntry {
-       guint32 index;
-       guint32 num_methods;
-       guint32 num_namespaces;
-       guint32 name_offset;
-       guint32 method_offset;
-       guint32 nstable_offset;
+       guint32 _index;
+       guint32 _num_methods;
+       guint32 _num_namespaces;
+       guint32 _name_offset;
+       guint32 _method_offset;
+       guint32 _nstable_offset;
 };
 
 struct MonoSymbolFileMethodIndexEntry {
-       guint32 file_offset;
-       guint32 token;
+       guint32 _file_offset;
+       guint32 _token;
 };
 
 struct MonoSymbolFileMethodAddress {
@@ -74,6 +77,7 @@ struct MonoSymbolFileMethodAddress {
        const guint8 *method_end_address;
        const guint8 *wrapper_address;
        guint32 has_this;
+       guint32 num_params;
        guint32 variable_table_offset;
        guint32 type_table_offset;
        guint32 num_line_numbers;
@@ -83,13 +87,13 @@ struct MonoSymbolFileMethodAddress {
 };
 
 struct MonoSymbolFileLexicalBlockEntry {
-       guint32 start_offset;
-       guint32 end_offset;
+       guint32 _start_offset;
+       guint32 _end_offset;
 };
 
 struct MonoSymbolFileLineNumberEntry {
-       guint32 row;
-       guint32 offset;
+       guint32 _row;
+       guint32 _offset;
 };
 
 struct MonoDebugMethodInfo {
@@ -114,12 +118,13 @@ struct MonoDebugLineNumberEntry {
 struct _MonoSymbolFile {
        const guint8 *raw_contents;
        int raw_contents_size;
+       gchar *filename;
        GHashTable *method_hash;
        MonoSymbolFileOffsetTable *offset_table;
 };
 
-#define MONO_SYMBOL_FILE_VERSION               36
-#define MONO_SYMBOL_FILE_MAGIC                 0x45e82623fd7fa614UL
+#define MONO_SYMBOL_FILE_VERSION               38
+#define MONO_SYMBOL_FILE_MAGIC                 0x45e82623fd7fa614ULL
 
 MonoSymbolFile *
 mono_debug_open_mono_symbol_file   (MonoDebugHandle           *handle,