diff --git a/ruamoko/qwaq/debugger/localsdata.h b/ruamoko/qwaq/debugger/localsdata.h index 3428219cb..e153a06a5 100644 --- a/ruamoko/qwaq/debugger/localsdata.h +++ b/ruamoko/qwaq/debugger/localsdata.h @@ -5,6 +5,8 @@ #include "ruamoko/qwaq/ui/tableview.h" #include "ruamoko/qwaq/debugger/debug.h" +@class DefView; + @interface LocalsData : Object { qdb_target_t target; @@ -13,6 +15,8 @@ qdb_function_t *func; qdb_auxfunction_t *aux_func; qdb_def_t *defs; + DefView **def_views; + int *def_rows; void *data; } +(LocalsData *)withTarget:(qdb_target_t)target; diff --git a/ruamoko/qwaq/debugger/localsdata.r b/ruamoko/qwaq/debugger/localsdata.r index c974cdd98..d45a86fb4 100644 --- a/ruamoko/qwaq/debugger/localsdata.r +++ b/ruamoko/qwaq/debugger/localsdata.r @@ -1,9 +1,9 @@ +#include #include #include #include "ruamoko/qwaq/debugger/views/defview.h" #include "ruamoko/qwaq/debugger/views/nameview.h" #include "ruamoko/qwaq/debugger/localsdata.h" -#include "ruamoko/qwaq/debugger/typeencodings.h" @implementation LocalsData @@ -26,11 +26,24 @@ return [[[self alloc] initWithTarget:target] autorelease]; } +static void +free_defs (LocalsData *self) +{ + obj_free (self.defs); + self.defs = nil; + for (int i = 0; i < self.aux_func.num_locals; i++) { + [self.def_views[i] release]; + } + obj_free (self.def_views); + self.def_views = nil; + obj_free (self.def_rows); + self.def_rows = nil; +} + -(void)dealloc { if (defs) { - obj_free (defs); - defs = nil; + free_defs (self); } if (data) { obj_free (data); @@ -46,20 +59,28 @@ current_fnum =fnum; if (defs) { - obj_free (defs); - defs = nil; + free_defs (self); } if (data) { obj_free (data); data = nil; } func = qdb_get_function (target, fnum); + if (func && func.local_size) { + data = obj_malloc (func.local_size); + } aux_func = qdb_get_auxfunction (target, fnum); if (aux_func) { defs = qdb_get_local_defs (target, fnum); - } - if (func && func.local_size) { - data = obj_malloc (func.local_size); + def_views = obj_malloc (aux_func.num_locals); + def_rows = obj_malloc (aux_func.num_locals + 1); + def_rows[0] = 0; + for (int i = 0; i < aux_func.num_locals; i++) { + def_views[i] = [[DefView withDef:defs[i] in:data target:target] + retain]; + def_rows[i + 1] = [def_views[i] rows]; + } + prefixsum (def_rows, aux_func.num_locals + 1); } return self; } @@ -75,7 +96,10 @@ -(int)numberOfRows:(TableView *)tableview { if (aux_func) { - return aux_func.num_locals; + if (!aux_func.num_locals) { + return 0; + } + return def_rows[aux_func.num_locals]; } else if (func) { return (func.local_size + 3) / 4; } @@ -86,15 +110,15 @@ forColumn:(TableViewColumn *)column row:(int)row { - View *view; + View *view = nil; + int *index = bsearch (&row, def_rows, aux_func.num_locals, 1, nil); - if ([column name] == "name") { - view = [NameView withName:qdb_get_string (target, defs[row].name)]; - } else { - qfot_type_t *type = [TypeEncodings getType:defs[row].type_encoding - fromTarget:target]; - unsigned offset = defs[row].offset; - view = [DefView withType:type at:offset in:data target:target]; + if (index) { + if ([column name] == "name") { + view = [def_views[*index] nameViewAtRow: row - *index]; + } else { + view = [def_views[*index] dataViewAtRow: row - *index]; + } } [view resizeTo:{[column width], 1}]; return view; diff --git a/ruamoko/qwaq/debugger/views/basicview.h b/ruamoko/qwaq/debugger/views/basicview.h index d5424c487..8df776c60 100644 --- a/ruamoko/qwaq/debugger/views/basicview.h +++ b/ruamoko/qwaq/debugger/views/basicview.h @@ -4,8 +4,7 @@ #include "ruamoko/qwaq/debugger/views/defview.h" @interface BasicView : DefView -// might return a NameView (which is also a DefView) -+(DefView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(DefView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_basicview_h diff --git a/ruamoko/qwaq/debugger/views/basicview.r b/ruamoko/qwaq/debugger/views/basicview.r index 96abfc302..8b6b20d35 100644 --- a/ruamoko/qwaq/debugger/views/basicview.r +++ b/ruamoko/qwaq/debugger/views/basicview.r @@ -28,7 +28,7 @@ static string type_views[] = { return self; } -+(DefView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(DefView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { string typename = nil; if (type.type == ty_alias) { @@ -40,7 +40,7 @@ static string type_views[] = { } id class = obj_lookup_class (typename); if (class) { - return [class withType:type at:offset in:data]; + return [class withDef:def in:data type:type]; } return [NameView withName:"Invalid Type"]; } diff --git a/ruamoko/qwaq/debugger/views/defview.h b/ruamoko/qwaq/debugger/views/defview.h index 7e2562104..60ebf9d65 100644 --- a/ruamoko/qwaq/debugger/views/defview.h +++ b/ruamoko/qwaq/debugger/views/defview.h @@ -7,14 +7,16 @@ @interface DefView : View { + qdb_def_t def; qfot_type_t *type; qdb_target_t target; } -+(DefView *)withType:(qfot_type_t *)type - at:(unsigned)offset - in:(void *)data - target:(qdb_target_t)target; --initWithType:(qfot_type_t *)type; ++(DefView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; ++(DefView *)withDef:(qdb_def_t)def in:(void *)data target:(qdb_target_t)target; +-initWithDef:(qdb_def_t)def; +-(int) rows; +-(View *) nameViewAtRow:(int) row; +-(View *) dataViewAtRow:(int) row; @end #endif//__qwaq_debugger_defview_h diff --git a/ruamoko/qwaq/debugger/views/defview.r b/ruamoko/qwaq/debugger/views/defview.r index a972b972f..376bf8a5c 100644 --- a/ruamoko/qwaq/debugger/views/defview.r +++ b/ruamoko/qwaq/debugger/views/defview.r @@ -1,4 +1,5 @@ #include +#include "ruamoko/qwaq/debugger/typeencodings.h" #include "ruamoko/qwaq/debugger/views/defview.h" #include "ruamoko/qwaq/debugger/views/nameview.h" @@ -22,12 +23,12 @@ static string meta_views[] = { return self; } --initWithType:(qfot_type_t *)type +-initWithDef:(qdb_def_t)def { if (!(self = [super init])) { return nil; } - self.type = type; + self.def = def; return self; } @@ -37,16 +38,17 @@ static string meta_views[] = { return self; } -+(DefView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(DefView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [self withType:type at:offset in:data target:nil]; + return [self withDef:def in:data target:nil]; } -+(DefView *)withType:(qfot_type_t *)type - at:(unsigned)offset - in:(void *)data - target:(qdb_target_t)target ++(DefView *)withDef:(qdb_def_t)def + in:(void *)data + target:(qdb_target_t)target { + qfot_type_t *type = [TypeEncodings getType:def.type_encoding + fromTarget:target]; string metaname = nil; if (type.meta == ty_alias) { type = type.alias.aux_type; @@ -57,9 +59,24 @@ static string meta_views[] = { } id class = obj_lookup_class (metaname); if (class) { - return [[class withType:type at:offset in:data] setTarget:target]; + return [[class withDef:def in:data type:type] setTarget:target]; } return [NameView withName:"Invalid Meta"]; } +-(int) rows +{ + return 1; +} + +-(View *) nameViewAtRow:(int) row +{ + return [NameView withName:qdb_get_string (target, def.name)]; +} + +-(View *) dataViewAtRow:(int) row +{ + return self; +} + @end diff --git a/ruamoko/qwaq/debugger/views/doubleview.h b/ruamoko/qwaq/debugger/views/doubleview.h index 90637ecf3..738199d36 100644 --- a/ruamoko/qwaq/debugger/views/doubleview.h +++ b/ruamoko/qwaq/debugger/views/doubleview.h @@ -7,7 +7,7 @@ { double *data; } -+(DoubleView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(DoubleView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_doubleview_h diff --git a/ruamoko/qwaq/debugger/views/doubleview.r b/ruamoko/qwaq/debugger/views/doubleview.r index d94f4e231..02f129553 100644 --- a/ruamoko/qwaq/debugger/views/doubleview.r +++ b/ruamoko/qwaq/debugger/views/doubleview.r @@ -3,18 +3,18 @@ @implementation DoubleView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (double *)(data + offset); + self.data = (double *)(data + def.offset); return self; } -+(DoubleView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(DoubleView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/entityview.h b/ruamoko/qwaq/debugger/views/entityview.h index 5ad8bd908..18453489a 100644 --- a/ruamoko/qwaq/debugger/views/entityview.h +++ b/ruamoko/qwaq/debugger/views/entityview.h @@ -7,7 +7,7 @@ { entity *data; } -+(EntityView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(EntityView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_entityview_h diff --git a/ruamoko/qwaq/debugger/views/entityview.r b/ruamoko/qwaq/debugger/views/entityview.r index 1170a3f7d..34fe591de 100644 --- a/ruamoko/qwaq/debugger/views/entityview.r +++ b/ruamoko/qwaq/debugger/views/entityview.r @@ -3,18 +3,18 @@ @implementation EntityView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (entity *)(data + offset); + self.data = (entity *)(data + def.offset); return self; } -+(EntityView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(EntityView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/fieldview.h b/ruamoko/qwaq/debugger/views/fieldview.h index 0cd314b6b..c97560e2c 100644 --- a/ruamoko/qwaq/debugger/views/fieldview.h +++ b/ruamoko/qwaq/debugger/views/fieldview.h @@ -7,7 +7,7 @@ { unsigned *data; } -+(FieldView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(FieldView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_fieldview_h diff --git a/ruamoko/qwaq/debugger/views/fieldview.r b/ruamoko/qwaq/debugger/views/fieldview.r index f8d1547e3..347957011 100644 --- a/ruamoko/qwaq/debugger/views/fieldview.r +++ b/ruamoko/qwaq/debugger/views/fieldview.r @@ -3,18 +3,18 @@ @implementation FieldView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (unsigned *)(data + offset); + self.data = (unsigned *)(data + def.offset); return self; } -+(FieldView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(FieldView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/floatview.h b/ruamoko/qwaq/debugger/views/floatview.h index 5c33da88b..db73ab864 100644 --- a/ruamoko/qwaq/debugger/views/floatview.h +++ b/ruamoko/qwaq/debugger/views/floatview.h @@ -7,7 +7,7 @@ { float *data; } -+(FloatView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(FloatView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_floatview_h diff --git a/ruamoko/qwaq/debugger/views/floatview.r b/ruamoko/qwaq/debugger/views/floatview.r index 5b4d534eb..dcb86b9e8 100644 --- a/ruamoko/qwaq/debugger/views/floatview.r +++ b/ruamoko/qwaq/debugger/views/floatview.r @@ -3,18 +3,18 @@ @implementation FloatView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (float *)(data + offset); + self.data = (float *)(data + def.offset); return self; } -+(FloatView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(FloatView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/funcview.h b/ruamoko/qwaq/debugger/views/funcview.h index 132812dd3..8b8adeee1 100644 --- a/ruamoko/qwaq/debugger/views/funcview.h +++ b/ruamoko/qwaq/debugger/views/funcview.h @@ -7,7 +7,7 @@ { unsigned *data; } -+(FuncView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(FuncView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_funcview_h diff --git a/ruamoko/qwaq/debugger/views/funcview.r b/ruamoko/qwaq/debugger/views/funcview.r index 2fa2218f0..34d9f5f93 100644 --- a/ruamoko/qwaq/debugger/views/funcview.r +++ b/ruamoko/qwaq/debugger/views/funcview.r @@ -3,18 +3,18 @@ @implementation FuncView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (unsigned *)(data + offset); + self.data = (unsigned *)(data + def.offset); return self; } -+(FuncView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(FuncView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/intview.h b/ruamoko/qwaq/debugger/views/intview.h index d2f271b21..e5fe8f659 100644 --- a/ruamoko/qwaq/debugger/views/intview.h +++ b/ruamoko/qwaq/debugger/views/intview.h @@ -7,7 +7,7 @@ { int *data; } -+(IntView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(IntView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_intview_h diff --git a/ruamoko/qwaq/debugger/views/intview.r b/ruamoko/qwaq/debugger/views/intview.r index a7df120ed..9e2aec16e 100644 --- a/ruamoko/qwaq/debugger/views/intview.r +++ b/ruamoko/qwaq/debugger/views/intview.r @@ -3,18 +3,18 @@ @implementation IntView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (int *)(data + offset); + self.data = (int *)(data + def.offset); return self; } -+(IntView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(IntView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/nameview.r b/ruamoko/qwaq/debugger/views/nameview.r index 0b66d838e..cbb5bd98d 100644 --- a/ruamoko/qwaq/debugger/views/nameview.r +++ b/ruamoko/qwaq/debugger/views/nameview.r @@ -5,7 +5,7 @@ -initWithName:(string)name { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } self.name = name; diff --git a/ruamoko/qwaq/debugger/views/pointerview.h b/ruamoko/qwaq/debugger/views/pointerview.h index fb45f1ae3..0921bba41 100644 --- a/ruamoko/qwaq/debugger/views/pointerview.h +++ b/ruamoko/qwaq/debugger/views/pointerview.h @@ -7,7 +7,7 @@ { unsigned *data; } -+(PointerView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(PointerView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_pointerview_h diff --git a/ruamoko/qwaq/debugger/views/pointerview.r b/ruamoko/qwaq/debugger/views/pointerview.r index 3a000ecf5..e2cad7033 100644 --- a/ruamoko/qwaq/debugger/views/pointerview.r +++ b/ruamoko/qwaq/debugger/views/pointerview.r @@ -3,18 +3,18 @@ @implementation PointerView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (unsigned *)(data + offset); + self.data = (unsigned *)(data + def.offset); return self; } -+(PointerView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(PointerView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/quatview.h b/ruamoko/qwaq/debugger/views/quatview.h index b88f75811..30de36d8f 100644 --- a/ruamoko/qwaq/debugger/views/quatview.h +++ b/ruamoko/qwaq/debugger/views/quatview.h @@ -7,7 +7,7 @@ { quaternion *data; } -+(QuatView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(QuatView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_quatview_h diff --git a/ruamoko/qwaq/debugger/views/quatview.r b/ruamoko/qwaq/debugger/views/quatview.r index fe8ca0ea1..d2b37a82a 100644 --- a/ruamoko/qwaq/debugger/views/quatview.r +++ b/ruamoko/qwaq/debugger/views/quatview.r @@ -3,18 +3,18 @@ @implementation QuatView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (quaternion *)(data + offset); + self.data = (quaternion *)(data + def.offset); return self; } -+(QuatView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(QuatView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/stringview.h b/ruamoko/qwaq/debugger/views/stringview.h index c8a49d131..badbef28c 100644 --- a/ruamoko/qwaq/debugger/views/stringview.h +++ b/ruamoko/qwaq/debugger/views/stringview.h @@ -7,7 +7,7 @@ { int *data; } -+(StringView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(StringView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_stringview_h diff --git a/ruamoko/qwaq/debugger/views/stringview.r b/ruamoko/qwaq/debugger/views/stringview.r index d686fd636..81c6dc90e 100644 --- a/ruamoko/qwaq/debugger/views/stringview.r +++ b/ruamoko/qwaq/debugger/views/stringview.r @@ -3,18 +3,18 @@ @implementation StringView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (int *)(data + offset); + self.data = (int *)(data + def.offset); return self; } -+(StringView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(StringView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/uintview.h b/ruamoko/qwaq/debugger/views/uintview.h index 5211b2ff7..417f9d080 100644 --- a/ruamoko/qwaq/debugger/views/uintview.h +++ b/ruamoko/qwaq/debugger/views/uintview.h @@ -7,7 +7,7 @@ { unsigned *data; } -+(UIntView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(UIntView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_uintview_h diff --git a/ruamoko/qwaq/debugger/views/uintview.r b/ruamoko/qwaq/debugger/views/uintview.r index c80b9b517..cf800f898 100644 --- a/ruamoko/qwaq/debugger/views/uintview.r +++ b/ruamoko/qwaq/debugger/views/uintview.r @@ -3,18 +3,18 @@ @implementation UIntView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (unsigned *)(data + offset); + self.data = (unsigned *)(data + def.offset); return self; } -+(UIntView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(UIntView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/vectorview.h b/ruamoko/qwaq/debugger/views/vectorview.h index 2a00c4e39..b1595ce98 100644 --- a/ruamoko/qwaq/debugger/views/vectorview.h +++ b/ruamoko/qwaq/debugger/views/vectorview.h @@ -7,7 +7,7 @@ { vector *data; } -+(VectorView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(VectorView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_vectorview_h diff --git a/ruamoko/qwaq/debugger/views/vectorview.r b/ruamoko/qwaq/debugger/views/vectorview.r index 61a50c6af..d351bed66 100644 --- a/ruamoko/qwaq/debugger/views/vectorview.r +++ b/ruamoko/qwaq/debugger/views/vectorview.r @@ -3,18 +3,18 @@ @implementation VectorView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (vector *)(data + offset); + self.data = (vector *)(data + def.offset); return self; } -+(VectorView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(VectorView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw diff --git a/ruamoko/qwaq/debugger/views/voidview.h b/ruamoko/qwaq/debugger/views/voidview.h index 1c6655bb1..7a2b6a144 100644 --- a/ruamoko/qwaq/debugger/views/voidview.h +++ b/ruamoko/qwaq/debugger/views/voidview.h @@ -7,7 +7,7 @@ { unsigned *data; } -+(VoidView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data; ++(VoidView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type; @end #endif//__qwaq_debugger_voidview_h diff --git a/ruamoko/qwaq/debugger/views/voidview.r b/ruamoko/qwaq/debugger/views/voidview.r index 81e58b62c..234607102 100644 --- a/ruamoko/qwaq/debugger/views/voidview.r +++ b/ruamoko/qwaq/debugger/views/voidview.r @@ -3,18 +3,18 @@ @implementation VoidView --initWithType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data +-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - if (!(self = [super initWithType:type])) { + if (!(self = [super initWithDef:def])) { return nil; } - self.data = (unsigned *) (data + offset); + self.data = (unsigned *) (data + def.offset); return self; } -+(VoidView *)withType:(qfot_type_t *)type at:(unsigned)offset in:(void *)data ++(VoidView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type { - return [[[self alloc] initWithType:type at:offset in:data] autorelease]; + return [[[self alloc] initWithDef:def in:data type:type] autorelease]; } -draw