/*
    NSObject(MAImplementation) - extra NSObject methods
    
    Copyright (C) 1995, Adam Fedor
    
*/

#ifndef GNUSTEP
#import <Foundation/Foundation.h>
#else
#include <Foundation/NSString.h>
#include <Foundation/NSException.h>
#endif
#include "MathArray/NSObjectExtra.h"

#ifdef GNUSTEP
#define sel_getName	sel_get_name
#endif

/* This is a dummy function so that we can force the methods in this
   file to be loaded by non-NeXT linkers. */
const char *
MathArrayNSObjectExtra()
{
    return "MathArrayNSObjectExtra";
}


@implementation NSObject(MAImplementation)

/* Construction notice */
+ (void)maNotImplemented:(SEL)aSelector
{
    NSString *not;
    
    not = [NSString stringWithFormat:@"\n  %s does not implement %s yet.\n",
        	[[[self class] description] cString], sel_getName(_cmd)];
		
    NSAssert(0, not);  
}

- (void)maNotImplemented:(SEL)aSelector
{
    NSString *not;
    
    not = [NSString stringWithFormat:@"\n  %s does not implement %s yet.\n",
        	[[[self class] description] cString], sel_getName(_cmd)];
		
    NSAssert(0, not);  
}

- (void)maSubclassResponsibility:(SEL)aSelector
{
    NSAssert1(0, @"Invalid method call. %s is a subclass responsibility",
    	sel_getName(aSelector));  
}

@end
