quakeforge/ruamoko/scheme/Error.r
2011-02-14 23:10:46 +09:00

50 lines
827 B
R

#include "Error.h"
#include "string.h"
@implementation Error
+ (id) type: (string) t message: (string) m by: (SchemeObject *) o
{
return [[self alloc] initWithType: t message: m by: o];
}
+ (id) type: (string) t message: (string) m
{
return [[self alloc] initWithType: t message: m by: nil];
}
- (id) initWithType: (string) t message: (string) m by: (SchemeObject *) o
{
self = [super init];
type = str_new();
message = str_new();
str_copy(type, t);
str_copy(message, m);
if (o) {
[self source: [o source]];
[self line: [o line]];
}
return self;
}
- (BOOL) isError
{
return true;
}
- (string) type
{
return type;
}
- (string) message
{
return message;
}
- (void) dealloc
{
str_free(type);
str_free(message);
[super dealloc];
}
@end