Fix bug in Scope::is_constant.

This commit is contained in:
Stephen Chung 2022-02-18 19:13:09 +08:00
parent ef87ae48c1
commit 78b5c9fd4e
2 changed files with 6 additions and 3 deletions

View File

@ -8,6 +8,7 @@ Bug fixes
---------
* Invalid property or method access such as `a.b::c.d` or `a.b::func()` no longer panics but properly returns a syntax error.
* `Scope::is_constant` now returns the correct value.
Enhancements
------------

View File

@ -375,9 +375,11 @@ impl Scope<'_> {
/// ```
#[inline]
pub fn is_constant(&self, name: &str) -> Option<bool> {
self.get_index(name).and_then(|(.., access)| match access {
AccessMode::ReadWrite => None,
AccessMode::ReadOnly => Some(true),
self.get_index(name).and_then(|(.., access)| {
Some(match access {
AccessMode::ReadWrite => false,
AccessMode::ReadOnly => true,
})
})
}
/// Update the value of the named entry in the [`Scope`] if it already exists and is not constant.