1
0
Fork 0

Removed Class.abstractMethod in favor of property keyword

closure/master
Mike Gerwitz 2010-12-27 22:11:37 -05:00
parent f705f38640
commit e789e58000
3 changed files with 17 additions and 11 deletions

View File

@ -39,9 +39,6 @@ exports.extend = function( base )
}
exports.abstractMethod = util.createAbstractMethod;
/**
* Default class implementation
*

View File

@ -191,6 +191,18 @@ exports.propParse = function( data, options )
callback_each.call( callback_each, name, value );
}
if ( keywords['abstract'] )
{
if ( value instanceof Array )
{
value = exports.createAbstractMethod.apply( this, value );
}
else
{
value = exports.createAbstractMethod();
}
}
// getter/setter
if ( getter || setter )
{
@ -204,10 +216,7 @@ exports.propParse = function( data, options )
callback_method,
name,
value,
( ( keywords['abstract'] )
? true
: exports.isAbstractMethod( value )
)
exports.isAbstractMethod( value )
);
}
// simple property

View File

@ -22,10 +22,10 @@
* @package test
*/
var common = require( './common' ),
var common = require( './common' ),
assert = require( 'assert' ),
Class = common.require( 'class' ),
abstractMethod = common.require( 'class' ).abstractMethod,
abstractMethod = common.require( 'util' ).createAbstractMethod,
util = common.require( 'util' );
// not abstract
@ -41,9 +41,9 @@ var AbstractFoo = Class.extend(
this.ctorCalled = true;
},
method: abstractMethod( 'one', 'two', 'three' ),
'abstract method': [ 'one', 'two', 'three' ],
second: abstractMethod(),
'abstract second': [],
});
// still abstract (didn't provide a concrete implementation of both abstract