nl_tokens: Same as defineSubClass with out side - effect of extend method and toString method .
pl_tokens: function defineSubClassPure ( superClass , constructor , methods , statics ) { var normalizedArgs = normalizeArgsForDefineSubClass . apply ( null , arguments ) , _superClass = normalizedArgs . superClass , _statics = normalizedArgs . statics , _constructor = normalizedArgs . constructor , _methods = normalizedArgs . methods ; // Set prototype _constructor . prototype = Object . create ( _superClass . prototype ) ; // Define constructor <mask> . defineProperty ( _constructor . prototype , 'constructor' , { value : _constructor } ) ; // Extend constructor extend ( _constructor . prototype , _methods ) ; extend ( _constructor , _statics , true ) ; // Return constructor return _constructor ; }