lib/class_manager.js
function(class_data, path) {

		var implements_source = this._sources[path],
			name,
			references_offset;

		if (Lava.schema.DEBUG) {

			if (!implements_source) Lava.t('Implements: class not found - "' + path + '"');
			for (name in implements_source.shared) Lava.t("Implements: unable to use a class with Shared as mixin.");
			if (class_data.implements.indexOf(path) != -1) Lava.t("Implements: class " + class_data.path + " already implements " + path);

		}

		class_data.implements.push(path);
		references_offset = class_data.references.length;
		// array copy is inexpensive, cause it contains only reference types
		class_data.references = class_data.references.concat(implements_source.references);

		this._extend(class_data, class_data.skeleton, implements_source, implements_source.skeleton, true, references_offset);

	}
function(class_data, path) {

		var implements_source = this._sources[path],
			name,
			references_offset;

		if (Lava.schema.DEBUG) {

			if (!implements_source) Lava.t('Implements: class not found - "' + path + '"');
			for (name in implements_source.shared) Lava.t("Implements: unable to use a class with Shared as mixin.");
			if (class_data.implements.indexOf(path) != -1) Lava.t("Implements: class " + class_data.path + " already implements " + path);

		}

		class_data.implements.push(path);
		references_offset = class_data.references.length;
		// array copy is inexpensive, cause it contains only reference types
		class_data.references = class_data.references.concat(implements_source.references);

		this._extend(class_data, class_data.skeleton, implements_source, implements_source.skeleton, true, references_offset);

	}
function ( class_data , path ) { var implements_source = this . _sources [ path ] , name , references_offset ; if ( Lava . schema . DEBUG ) { if ( ! implements_source ) Lava . t ( 'Implements: class not found - "' + path + '"' ) ; for ( name in implements_source . shared ) Lava . t ( "Implements: unable to use a class with Shared as mixin." ) ; if ( class_data . implements . indexOf ( path ) != - 1 ) Lava . t ( "Implements: class " + class_data . path + " already implements " + path ) ; } class_data . implements . push ( path ) ; references_offset = class_data . references . length ; // array copy is inexpensive, cause it contains only reference types class_data . references = class_data . references . concat ( implements_source . references ) ; this . _extend ( class_data , class_data . skeleton , implements_source , implements_source . skeleton , true , references_offset ) ; }
Implement members from another class into current class data
@param {_cClassData} class_data
@param {string} path
Implement members from another class into current class data