Properties can no longer be declared as abstract
parent
8a3010c964
commit
9d47e64ac3
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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" );
|
||||||
|
} )();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue