Tree-walking ECMAScript interpreter built on ecma-syntax-cat. v0.3.0 adds accessor-property support at the engine level: `Object::with_accessor(key, AccessorPair)` installs a getter/setter pair, and `obj.key` / `obj.key = value` dispatch through the pair instead of doing plain data read/write. Embedders (web-api-cat etc.) can now wire DOM accessors like `document.cookie` via native getter/setter functions. Object-literal `{ get x() {} }` syntax remains gated on ecma-parse-cat learning to emit `ObjectPropertyKind::Get/Set` (the engine handles those AST variants already).
//! Completion records: the spec's abrupt-completion mechanism, lifted into
//! a sum type the interpreter can return from statement evaluation.
usecrate::value::Value;/// The result of evaluating a statement.
#[derive(Debug, Clone, PartialEq, Eq)]pubenumCompletion{/// Normal completion with an optional value (the result of an
/// `Expression` statement, the body of a block, etc.).
Normal(Value),/// `return value;`
Return(Value),/// `throw value;`
Throw(Value),/// `break;` (labeled break deferred to v0.2).
Break,/// `continue;` (labeled continue deferred to v0.2).
Continue,}implCompletion{/// Whether this completion is abrupt (anything other than `Normal`).
#[must_use]pubfnis_abrupt(&self)->bool{!matches!(self,Self::Normal(_))}}