ftp.nice.ch/Attic/openStep/developer/bundles/GDBbundle.1.0.s.tgz#/GDBbundle-1.0.s/TextEdit/GdbBundle.bproj/Variable.h

This is Variable.h in view mode; [Download] [Up]

/* Variable.h created by ovidiu on Sun 30-Mar-1997 */

#import <Foundation/NSObject.h>

@class NSString;
@class NSNumber;
@class NSMutableArray;

@class GdbDisplayController;
@class Frame;
@class Value;
@class Type;

@protocol GdbDisplayValue
- (NSString*)title;
- (NSString*)stringValue;
- (NSString*)additionalDescription;
- (Value*)value;
- (NSArray*)indirectedComponents;
- (BOOL)indirectedComponentsAreKnown;
- (void)getIndirectedComponentsFromGDB;
@end

@interface Variable : NSObject <GdbDisplayValue>
{
  GdbDisplayController* gdbController;
  NSString* name;
  Value* value;
}
- (void)setName:(NSString*)name;
- (void)setValue:(Value*)value;
- (NSString*)name;
- (void)setGdbDisplayController:(GdbDisplayController*)anObject;
@end

@interface Variable (Parser)
+ (NSMutableArray*)variablesFromDescription:(NSString*)string;
@end


typedef enum {
  kVoid,
  kScalar,
  kEnum,
  kStructure,
  kClass,
  kUnion,
  kArray,
  kPointer,
  kCString,
  kVoidPointer
} tTypeKind;

typedef enum {
  kNoScalar,
  kChar,
  kShort,
  kInt,
  kLong,
  kFloat,
  kDouble
} tScalarTypeKind;

@interface Type : NSObject
{
  NSMutableString* name;
  tTypeKind kind;
  tScalarTypeKind scalarKind;	/* only if kind == kScalar */
}
- (void)setTypeName:(NSMutableString*)typeName;
- (void)setTypeKind:(tTypeKind)type;
- (void)setScalarTypeKind:(tScalarTypeKind)type;
- (NSMutableString*)typeName;
- (tTypeKind)typeKind;
- (tScalarTypeKind)scalarTypeKind;
- (Class)valueClass;
@end


@interface Value : NSObject <GdbDisplayValue>
{
  GdbDisplayController* gdbController;
  Type* type;
}
- (void)setGdbDisplayController:(GdbDisplayController*)anObject;
- (void)setType:(Type*)type;
- (void)setStringValue:(NSString*)value;
- (Type*)type;
@end


@interface VoidValue : Value
@end


@interface SimpleValue : Value
{
  NSString* stringNumber;
  NSString* description;
}
+ (SimpleValue*)numberWithString:(NSString*)string;

- (void)setStringValue:(NSString*)value;
- (void)setDescription:(NSString*)string;
@end


@interface EnumerationValue : Value
{
  NSString* value;
}
- (void)setStringValue:(NSString*)value;
@end


@interface AggregateValue : Value
{
  NSMutableArray* componentValues;
}
- (void)setArrayValue:(NSMutableArray*)value;
- (BOOL)isStructure;
- (BOOL)isClass;
- (BOOL)isUnion;
- (BOOL)isArray;

- (NSArray*)indirectedComponents;
@end


@interface StructureValue : AggregateValue
@end

@interface ClassValue : AggregateValue
@end

@interface UnionValue : AggregateValue
@end

@interface ArrayValue : AggregateValue
@end


@interface PointerValue : Value
{
  NSString* addressString;
  NSString* description;
  id indirectedValue;
  BOOL printCommandExecuted;
}
+ (PointerValue*)pointerWithAddress:(NSString*)address;
- (void)setStringValue:(NSString*)value;

- (NSArray*)indirectedComponents;
- (BOOL)indirectedComponentsAreKnown;
- (void)getIndirectedComponentsFromGDB;
- (void)setDescription:(NSString*)string;
@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.