Keep @directive on @this functions
Why
The @this rewrite left @directive on the unsafe_to_method call instead of the function, and the Pjs_fn_method path built the JS function without a directive, so it was dropped without a report. The PPX now moves @directive onto the inner function, E.method_ takes it, and the printer puts it before let self = this, since a directive must be the first statement of the body.
modifiedJS @this function with a directive
let plain = @this @directive("'use cache'") (self, x) => self + xjs
Before
After
function plain(x) {function plain(x) { 'use cache'; let self = this ; let self = this ; return self + x | 0; return self + x | 0;}}
Fixes #9197