nl_tokens: make one attr only can be read but could not be rewrited / deleted
pl_tokens: function frozen ( obj , prop , descriptor ) { if ( descriptor === undefined ) { /* istanbul ignore else  */ warn ( 'You are using @frozen on an undefined property. This property will become a frozen undefined forever, which is meaningless' ) ; return { value : undefined , writable : false , enumerable : <mask> , configurable : false } ; } descriptor . enumerable = false ; descriptor . configurable = false ; if ( isAccessorDescriptor ( descriptor ) ) { var _get = descriptor . get ; descriptor . set = undefined ; if ( ! isFunction ( _get ) ) { /* istanbul ignore else  */ warn ( 'You are using @frozen on one accessor descriptor without getter. This property will become a frozen undefined finally.Which maybe meaningless.' ) ; return ; } return { get : function get ( ) { var value = bind$1 ( _get , this ) ( ) ; defineProperty$2$1 ( this , prop , { value : value , writable : false , configurable : false , enumerable : false } ) ; return value ; } , set : undefined , configurable : false , enumerable : false } ; } // $FlowFixMe: comeon, can disjoint union be reliable? descriptor . writable = false ; return descriptor ; }