Moved closure out of getMemberVisibility
This was defining a function on every call for no particular reason other than being lazy, it seems. Performance poopoo.perfodd
parent
66cab74cc1
commit
5047d895c0
|
@ -297,7 +297,31 @@ exports.buildGetterSetter = function(
|
|||
*/
|
||||
function getMemberVisibility( members, keywords, name )
|
||||
{
|
||||
var viserr = function()
|
||||
// there's cleaner ways of doing this, but consider it loop unrolling for
|
||||
// performance
|
||||
if ( keywords[ 'private' ] )
|
||||
{
|
||||
( keywords[ 'public' ] || keywords[ 'protected' ] )
|
||||
&& viserr( name );
|
||||
return members[ 'private' ];
|
||||
}
|
||||
else if ( keywords[ 'protected' ] )
|
||||
{
|
||||
( keywords[ 'public' ] || keywords[ 'private' ] )
|
||||
&& viserr( name );
|
||||
return members[ 'protected' ];
|
||||
}
|
||||
else
|
||||
{
|
||||
// public keyword is the default, so explicitly specifying it is only
|
||||
// for clarity
|
||||
( keywords[ 'private' ] || keywords[ 'protected' ] )
|
||||
&& viserr( name );
|
||||
return members[ 'public' ];
|
||||
}
|
||||
}
|
||||
|
||||
function viserr( name )
|
||||
{
|
||||
throw TypeError(
|
||||
"Only one access modifier may be used for definition of '" +
|
||||
|
@ -305,26 +329,6 @@ function getMemberVisibility( members, keywords, name )
|
|||
);
|
||||
}
|
||||
|
||||
// there's cleaner ways of doing this, but consider it loop unrolling for
|
||||
// performance
|
||||
if ( keywords[ 'private' ] )
|
||||
{
|
||||
( keywords[ 'public' ] || keywords[ 'protected' ] ) && viserr();
|
||||
return members[ 'private' ];
|
||||
}
|
||||
else if ( keywords[ 'protected' ] )
|
||||
{
|
||||
( keywords[ 'public' ] || keywords[ 'private' ] ) && viserr();
|
||||
return members[ 'protected' ];
|
||||
}
|
||||
else
|
||||
{
|
||||
// public keyword is the default, so explicitly specifying it is only
|
||||
// for clarity
|
||||
( keywords[ 'private' ] || keywords[ 'protected' ] ) && viserr();
|
||||
return members[ 'public' ];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue