mirror of
https://github.com/danbulant/oxc
synced 2026-05-19 12:19:15 +00:00
feat(ast): add ArrowFunctionExpression::has_use_strict_directive method (#7784)
Add `ArrowFunctionExpression::has_use_strict_directive` method to go with `Function::has_use_strict_directive` etc.
This commit is contained in:
parent
96a26d3b29
commit
f7900ab246
4 changed files with 8 additions and 3 deletions
|
|
@ -1701,7 +1701,7 @@ pub struct FunctionBody<'a> {
|
|||
#[ast(visit)]
|
||||
#[scope(
|
||||
flags(ScopeFlags::Function | ScopeFlags::Arrow),
|
||||
strict_if(self.body.has_use_strict_directive()),
|
||||
strict_if(self.has_use_strict_directive()),
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, GetSpan, GetSpanMut, ContentEq, ContentHash, ESTree)]
|
||||
|
|
|
|||
|
|
@ -1094,6 +1094,11 @@ impl<'a> ArrowFunctionExpression<'a> {
|
|||
}
|
||||
None
|
||||
}
|
||||
|
||||
/// Returns `true` if this arrow function's body has a `"use strict"` directive.
|
||||
pub fn has_use_strict_directive(&self) -> bool {
|
||||
self.body.has_use_strict_directive()
|
||||
}
|
||||
}
|
||||
|
||||
impl Class<'_> {
|
||||
|
|
|
|||
|
|
@ -1684,7 +1684,7 @@ pub mod walk {
|
|||
visitor.enter_scope(
|
||||
{
|
||||
let mut flags = ScopeFlags::Function | ScopeFlags::Arrow;
|
||||
if it.body.has_use_strict_directive() {
|
||||
if it.has_use_strict_directive() {
|
||||
flags |= ScopeFlags::StrictMode;
|
||||
}
|
||||
flags
|
||||
|
|
|
|||
|
|
@ -1703,7 +1703,7 @@ pub mod walk_mut {
|
|||
visitor.enter_scope(
|
||||
{
|
||||
let mut flags = ScopeFlags::Function | ScopeFlags::Arrow;
|
||||
if it.body.has_use_strict_directive() {
|
||||
if it.has_use_strict_directive() {
|
||||
flags |= ScopeFlags::StrictMode;
|
||||
}
|
||||
flags
|
||||
|
|
|
|||
Loading…
Reference in a new issue