/** 
 * Enables you to create abstract classes, that can be inherited but not instantiated.
 * @author Ariel Flesler
 */
 
Class.extensions( 'abstract', function( data, parse ){
	if( !parse )
		return;
		
	var old = data.c;
	
	data.c = function(){
		if( this.clazz == data.c )// Didn't inherit
			throw new Error("abstract classes cannot be instantiated");
		return old.apply(this,arguments);
	};
});