libs-steptalk/Languages/Smalltalk/STUndefinedObject+additions.m
Adam Fedor c2c2d22254 Initial revision
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/steptalk/trunk@13642 72102866-910b-0410-8b05-ffd578937521
2002-05-13 22:13:06 +00:00

54 lines
808 B
Objective-C

/**
STUndefinedObject.m
Wrapper for nil object
Copyright (c) 2002 Free Software Foundation
This file is part of the StepTalk project.
*/
#import "STUndefinedObject+additions.h"
#import "STBlock.h"
#import <StepTalk/STExterns.h>
#import <Foundation/NSString.h>
#import <Foundation/NSException.h>
@implementation STUndefinedObject(SmalltalkAdditions)
- (BOOL)isNil
{
return YES;
}
- ifNil:(STBlock *)block
{
return [block value];
}
- notNil:(STBlock *)block
{
return nil;
}
- ifFalse:(STBlock *)block
{
return [block value];
}
- ifTrue:(STBlock *)block
{
return nil;
}
- ifFalse:(STBlock *)block ifTrue:(STBlock *)anotherBlock
{
return [block value];
}
- ifTrue:(STBlock *)block ifFalse:(STBlock *)anotherBlock
{
return [anotherBlock value];
}
@end