home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / UNIX / Programming / class-dump-2.1.1-MIS / src / ObjcIvar.m < prev    next >
Encoding:
Text File  |  1997-12-07  |  1.7 KB  |  69 lines

  1. //
  2. // $Id: ObjcIvar.m,v 1.2 1997/12/07 22:31:44 nygard Exp $
  3. //
  4.  
  5. //
  6. //  This file is a part of class-dump v2, a utility for examining the
  7. //  Objective-C segment of Mach-O files.
  8. //  Copyright (C) 1997  Steve Nygard
  9. //
  10. //  This program is free software; you can redistribute it and/or modify
  11. //  it under the terms of the GNU General Public License as published by
  12. //  the Free Software Foundation; either version 2 of the License, or
  13. //  (at your option) any later version.
  14. //
  15. //  This program is distributed in the hope that it will be useful,
  16. //  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. //  GNU General Public License for more details.
  19. //
  20. //  You should have received a copy of the GNU General Public License
  21. //  along with this program; if not, write to the Free Software
  22. //  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23. //
  24. //  You may contact the author by:
  25. //     e-mail:  nygard@telusplanet.net
  26. //
  27.  
  28. #import "ObjcIvar.h"
  29. #include "datatypes.h"
  30.  
  31. @implementation ObjcIvar
  32.  
  33. - initWithName:(NSString *)ivarName type:(NSString *)ivarType offset:(long)ivarOffset
  34. {
  35.     if ([super init] == nil)
  36.         return nil;
  37.  
  38.     ivar_name = [ivarName retain];
  39.     ivar_type = [ivarType retain];
  40.     ivar_offset = ivarOffset;
  41.  
  42.     return self;
  43. }
  44.  
  45. - (void) dealloc
  46. {
  47.     [ivar_name release];
  48.     [ivar_type release];
  49.     
  50.     [super dealloc];
  51. }
  52.  
  53. - (NSString *) description
  54. {
  55.     return [NSString stringWithFormat:@"%@/%@\t// %x", ivar_name, ivar_type, ivar_offset];
  56. }
  57.  
  58. - (long) offset
  59. {
  60.     return ivar_offset;
  61. }
  62.  
  63. - (void) showIvarAtLevel:(int)level
  64. {
  65.     format_type ([ivar_type cString], [ivar_name cString], level);
  66. }
  67.  
  68. @end
  69.