blob: 01aae9f0173ca42a81f7de175c249d5d46b6afaa [file] [log] [blame]
// -*- mode: ObjC -*-
// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
// Copyright (C) 1997-2019 Steve Nygard.
#include <mach-o/nlist.h>
extern NSString *const ObjCClassSymbolPrefix;
@class CDMachOFile, CDSection, CDLCDylib;
@interface CDSymbol : NSObject
- (id)initWithName:(NSString *)name machOFile:(CDMachOFile *)machOFile nlist32:(struct nlist)nlist32;
- (id)initWithName:(NSString *)name machOFile:(CDMachOFile *)machOFile nlist64:(struct nlist_64)nlist64;
@property (nonatomic, readonly) uint64_t value;
@property (readonly) NSString *name;
@property (nonatomic, readonly) CDSection *section;
@property (nonatomic, readonly) CDLCDylib *dylibLoadCommand;
@property (nonatomic, readonly) BOOL isExternal;
@property (nonatomic, readonly) BOOL isPrivateExternal;
@property (nonatomic, readonly) NSUInteger stab;
@property (nonatomic, readonly) NSUInteger type;
@property (nonatomic, readonly) BOOL isDefined;
@property (nonatomic, readonly) BOOL isAbsolute;
@property (nonatomic, readonly) BOOL isInSection;
@property (nonatomic, readonly) BOOL isPrebound;
@property (nonatomic, readonly) BOOL isIndirect;
@property (nonatomic, readonly) BOOL isCommon;
@property (nonatomic, readonly) BOOL isInTextSection;
@property (nonatomic, readonly) BOOL isInDataSection;
@property (nonatomic, readonly) BOOL isInBssSection;
@property (nonatomic, readonly) NSUInteger referenceType;
@property (nonatomic, readonly) NSString *referenceTypeName;
@property (nonatomic, readonly) NSString *shortTypeDescription;
@property (nonatomic, readonly) NSString *longTypeDescription;
- (NSComparisonResult)compare:(CDSymbol *)other;
- (NSComparisonResult)compareByName:(CDSymbol *)other;
+ (NSString *)classNameFromSymbolName:(NSString *)symbolName;
@end