macdependency/MacDependency/SymbolTableEntryModel.mm

45 lines
1.2 KiB
Plaintext
Raw Normal View History

//
// SymbolEntryModel.mm
// MacDependency
//
// Created by Konrad Windszus on 13.07.09.
// Copyright 2009 Konrad Windszus. All rights reserved.
//
#import "SymbolTableEntryModel.h"
#import "MachOModel.h"
#import "ConversionStdString.h"
2009-09-23 16:12:43 +00:00
#import "MyDocument.h"
#include "MachO/machodemangleexception.h"
@implementation SymbolTableEntryModel
- (id) initWithEntry:(const SymbolTableEntry*)anEntry demangleNamesPtr:(BOOL*)demangle document:(MyDocument*)aDocument {
self = [super init];
if (self) {
entry = anEntry;
self->demangleNames = demangle;
document = aDocument;
}
return self;
}
- (NSString*) name {
2009-09-23 16:12:43 +00:00
try {
return [NSString stringWithStdString: entry->getName(*demangleNames)];
2009-09-23 16:12:43 +00:00
} catch (MachODemangleException& e) {
// in case of demangling problems (probably c++filt not installed)
2009-09-23 16:12:43 +00:00
NSString* error = NSLocalizedString(@"ERR_NO_DEMANGLER", nil);
[document appendLogLine:error withModel:nil state:StateError];
// disable name demangling
2009-09-23 16:12:43 +00:00
[[document symbolTableController] setDemangleNames:NO];
}
return [NSString stringWithStdString:entry->getName(false)];
}
- (NSNumber*) type {
return [NSNumber numberWithUnsignedInt:entry->getType()];
}
@end