diff --git a/lib/class_builder.js b/lib/class_builder.js index 41c9f66..49c03fd 100644 --- a/lib/class_builder.js +++ b/lib/class_builder.js @@ -50,7 +50,17 @@ var util = require( __dirname + '/util' ), * * @type {boolean} */ - extending = false + extending = false, + + /** + * Hash of reserved members + * + * These methods cannot be defined in the class. They are for internal use + * only. + * + * @type {Object.} + */ + reserved = { '__initProps': true } ; @@ -329,11 +339,11 @@ function buildMembers( each: function( name, value, keywords ) { // disallow use of our internal __initProps() method - if ( name === '__initProps' ) + if ( reserved[ name ] === true ) { - throw new Error( + throw Error( ( ( cname ) ? cname + '::' : '' ) + - "__initProps is a reserved method" + ( name + " is reserved" ) ); }