1
0
Fork 0

Properties can no longer be declared as abstract

closure/master
Mike Gerwitz 2011-03-29 23:48:17 -04:00
parent 8a3010c964
commit 9d47e64ac3
2 changed files with 20 additions and 0 deletions

View File

@ -187,6 +187,14 @@ exports.buildProp = function( members, meta, name, value, keywords, base )
); );
} }
// abstract properties do not make sense
if ( keywords[ 'abstract' ] )
{
throw TypeError(
"Property '" + name + "' cannot be declared as abstract"
);
}
getMemberVisibility( members, keywords )[ name ] = value; getMemberVisibility( members, keywords )[ name ] = value;
}; };

View File

@ -48,3 +48,15 @@ mb_common.assertCommon();
}, TypeError, "Cannot override method with property" ); }, TypeError, "Cannot override method with property" );
} )(); } )();
/**
* Abstract properties do not make sense. Simple as that.
*/
( function testCannotDeclareAbstractProperty()
{
assert.throws( function()
{
mb_common.buildMemberQuick( { 'abstract': true } );
}, TypeError, "Cannot declare abstract property" );
} )();