nl_tokens: Copy elements in the range 0 .. length from obj s prototype chain to obj itself if obj has holes . Return one more than the maximal index of a prototype property .
pl_tokens: function CopyFromPrototype ( obj , <mask> ) { var max = 0 ; for ( var proto = % object_get_prototype_of ( obj ) ; proto ; proto = % object_get_prototype_of ( proto ) ) { var indices = IS_PROXY ( proto ) ? length : % GetArrayKeys ( proto , length ) ; if ( IS_NUMBER ( indices ) ) { // It's an interval. var proto_length = indices ; for ( var i = 0 ; i < proto_length ; i ++ ) { if ( ! HAS_OWN_PROPERTY ( obj , i ) && HAS_OWN_PROPERTY ( proto , i ) ) { obj [ i ] = proto [ i ] ; if ( i >= max ) { max = i + 1 ; } } } } else { for ( var i = 0 ; i < indices . length ; i ++ ) { var index = indices [ i ] ; if ( ! HAS_OWN_PROPERTY ( obj , index ) && HAS_OWN_PROPERTY ( proto , index ) ) { obj [ index ] = proto [ index ] ; if ( index >= max ) { max = index + 1 ; } } } } } return max ; }