lib/function_inheritance.js
function ensureConstructorStaticMethods(newConstructor) {

		if (typeof newConstructor.setMethod !== 'function') {
			Blast.defineValue(newConstructor, protoPrepareStaticProperty);
			Blast.defineValue(newConstructor, protoSetStaticProperty);
			Blast.defineValue(newConstructor, protoPrepareProperty);
			Blast.defineValue(newConstructor, protoEnforceProperty);
			Blast.defineValue(newConstructor, protoDecorateMethod);
			Blast.defineValue(newConstructor, protoStaticCompose);
			Blast.defineValue(newConstructor, protoGetChildren);
			Blast.defineValue(newConstructor, protoSetProperty);
			Blast.defineValue(newConstructor, protoConstitute);
			Blast.defineValue(newConstructor, protoSetStatic);
			Blast.defineValue(newConstructor, protoSetMethod);
			Blast.defineValue(newConstructor, protoCompose);

			if (newConstructor.extend == null) {
				Blast.defineValue(newConstructor, 'extend', protoExtend);
			}
		}
	}
function ensureConstructorStaticMethods(newConstructor) {

		if (typeof newConstructor.setMethod !== 'function') {
			Blast.defineValue(newConstructor, protoPrepareStaticProperty);
			Blast.defineValue(newConstructor, protoSetStaticProperty);
			Blast.defineValue(newConstructor, protoPrepareProperty);
			Blast.defineValue(newConstructor, protoEnforceProperty);
			Blast.defineValue(newConstructor, protoDecorateMethod);
			Blast.defineValue(newConstructor, protoStaticCompose);
			Blast.defineValue(newConstructor, protoGetChildren);
			Blast.defineValue(newConstructor, protoSetProperty);
			Blast.defineValue(newConstructor, protoConstitute);
			Blast.defineValue(newConstructor, protoSetStatic);
			Blast.defineValue(newConstructor, protoSetMethod);
			Blast.defineValue(newConstructor, protoCompose);

			if (newConstructor.extend == null) {
				Blast.defineValue(newConstructor, 'extend', protoExtend);
			}
		}
	}
function ensureConstructorStaticMethods ( newConstructor ) { if ( typeof newConstructor . setMethod !== 'function' ) { Blast . defineValue ( newConstructor , protoPrepareStaticProperty ) ; Blast . defineValue ( newConstructor , protoSetStaticProperty ) ; Blast . defineValue ( newConstructor , protoPrepareProperty ) ; Blast . defineValue ( newConstructor , protoEnforceProperty ) ; Blast . defineValue ( newConstructor , protoDecorateMethod ) ; Blast . defineValue ( newConstructor , protoStaticCompose ) ; Blast . defineValue ( newConstructor , protoGetChildren ) ; Blast . defineValue ( newConstructor , protoSetProperty ) ; Blast . defineValue ( newConstructor , protoConstitute ) ; Blast . defineValue ( newConstructor , protoSetStatic ) ; Blast . defineValue ( newConstructor , protoSetMethod ) ; Blast . defineValue ( newConstructor , protoCompose ) ; if ( newConstructor . extend == null ) { Blast . defineValue ( newConstructor , 'extend' , protoExtend ) ; } } }
Ensure a constructor has the required static methods

@author   Jelle De Loecker   <jelle@kipdola.be>
@since    0.3.4
@version  0.3.4

@param    {Function}   newConstructor
Ensure a constructor has the required static methods