mirror of https://github.com/boa-dev/boa.git
Tree:
84501850dc
add-vhs-ci
benchmarks
control-flow-graph
expect-lints
feature/node_span
feature/snapshot
features
gh-readonly-queue/main/pr-2877-b0ddf5eed00a53281d67fc7d846233fc0d99ce9c
gh-readonly-queue/main/pr-3144-8e48cec73fae708420b9af88813d4870243c491a
main
nan-boxing
optimization/static-shapes
real_conformance
reduce-environment-allocations
refactor/interner
refactor/register-vm
releases/0.17
releases/0.19
semver_checks
tco
utility-crate
wasm-debugger
nightly
v0.10
v0.11
v0.12
v0.13
v0.14
v0.15
v0.16
v0.17
v0.17.1
v0.17.2
v0.17.3
v0.18
v0.19
v0.19.1
v0.2.0
v0.2.1
v0.3.0
v0.4.0
v0.5.0
v0.5.1
v0.6.0
v0.7.0
v0.8.0
v0.9.0
${ noResults }
61 Commits (84501850dc2fd69758ae8761dde234623a83cd78)
Author | SHA1 | Message | Date |
---|---|---|---|
raskad |
5e9193aced
|
Implement Private Runtime Environments (#2929)
|
2 years ago |
dependabot[bot] |
a0b769d5b1
|
Bump bitflags from 2.2.1 to 2.3.1 (#2945)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.2.1 to 2.3.1. - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.2.1...2.3.1) --- updated-dependencies: - dependency-name: bitflags dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
José Julián Espina |
06161edcbd
|
Implement module execution (#2922)
* Implement draft of module execution * Fix recursion bug * Re-enable JsObject's debug printing * Modify API and document some methods * Add missing documentation * Add newline to module scripts * npx prettier * Apply reviews * Add reference to parent struct on source module * Document more steps on the example * cargo clippy * Revert `BoaGc` changes * Lower `GcRefCell` to `Inner` of `SourceTextModule` * Replace weak ref to module with strong ref * Apply review * Clarify reasoning of manual `Trace` impl * Apply review pt. 2 * Revert gc changes |
2 years ago |
José Julián Espina |
ab87b2fd5b
|
Extract "About Boa" section into a separate file (#2938)
* Extract "About Boa" section into a separate file * Add newline * cargo fmt |
2 years ago |
raskad |
efeaa40ae2
|
Fix tagged template creation (#2925)
* Fix tagged template creation * Fix template identifier hash * Apply suggestion * Apply suggestion |
2 years ago |
dependabot[bot] |
ba7d2163cc
|
Bump serde from 1.0.162 to 1.0.163 (#2927)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.162 to 1.0.163. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
raskad |
f57872cf8c
|
Fix lexical environments in for loops (#2917)
* Fix lexical environments in for loops * Fix typo |
2 years ago |
raskad |
7605453cd7
|
Add loop and switch return values (#2828)
* Add loop and switch return values * Apply suggestions |
2 years ago |
raskad |
70b0d49483
|
Implement annexB Block-Level Function Declarations (#2910)
* Implement annexB Block-Level Function Declarations * Apply suggestions |
2 years ago |
Haled Odat |
908015f9fd
|
Fix switch `default` execution (#2907)
* Fix switch `default` execution * Fix typo * Update switch.rs |
2 years ago |
raskad |
e3d2056f5b
|
Refactor binding declarations (#2887)
|
2 years ago |
dependabot[bot] |
f4ebb2bd2d
|
Bump serde from 1.0.160 to 1.0.162 (#2900)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
2 years ago |
Iban Eguia Moraza |
1965492f7c
|
Added unit tests for `boa_ast::Punctuator` (#2884)
* Added unit tests for `boa_ast::Punctuator` * Removed ut_ prefix from tests |
2 years ago |
Iban Eguia Moraza |
08a72387ba
|
Added unit tests for `boa_ast::Keyword` (#2883)
* Added unit tests for `boa_ast::Keyword` * Removed the ut_ prefix on test functions |
2 years ago |
dependabot[bot] | cebec9da90 |
Bump bitflags from 2.1.0 to 2.2.1 (#2868)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.1.0 to 2.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.2.1</h2> <h2>What's Changed</h2> <ul> <li>Refactor attribute filtering to apply per-flag by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/345">bitflags/bitflags#345</a></li> <li>Prepare for 2.2.1 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/346">bitflags/bitflags#346</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.2.0...2.2.1">https://github.com/bitflags/bitflags/compare/2.2.0...2.2.1</a></p> <h2>2.2.0 (yanked)</h2> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> <li>Prepare for 2.2.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/342">bitflags/bitflags#342</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.2.1</h1> <h2>What's Changed</h2> <ul> <li>Refactor attribute filtering to apply per-flag by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/345">bitflags/bitflags#345</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.2.0...2.2.1">https://github.com/bitflags/bitflags/compare/2.2.0...2.2.1</a></p> <h1>2.2.0</h1> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | 63d9d67ecb |
Added a Boa runtime (#2743)
This Pull Request fixes/closes #718. It changes the following: - Adds a new `boa_runtime` crate, that will only include `console` for now - Changes the `boa_cli` crate to use the new `boa_runtime` crate for the console, instead of the `console` feature of `boa_engine` - Removes the `console` feature in `boa_engine` - Adds a new `boa_testing` helper crate with some useful functions for testing `boa`. This part duplicates the code from `boa_engine`, but I could not make `boa_engine` work with this crate as a dependency due to circular dependencies. Maybe doing it a bit generic could work, but didn't have enough time to check it. To be checked: wether the WASM example works as expected with the console. |
2 years ago |
José Julián Espina | 53e4825a19 |
Implement var initializers in for-in loops (#2842)
This Pull Request implements [Initializers in ForIn Statement Heads](https://tc39.es/ecma262/#sec-initializers-in-forin-statement-heads) from the Annex B. This also cleans up the "annex-b" feature to be able to disable it with `--no-default-features`, since I couldn't test the error messages when the feature is disabled. |
2 years ago |
raskad | 54695cc620 |
Fix async generators (#2853)
This Pull Request fixes #2711 and fixes #2671. It changes the following: - Fix the logic in async generator `yield` and `yield*` expressions. |
2 years ago |
dependabot[bot] | c87cf7c7f4 |
Bump bitflags from 2.1.0 to 2.2.0 (#2845)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.1.0 to 2.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.2.0</h2> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> <li>Prepare for 2.2.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/342">bitflags/bitflags#342</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.2.0</h1> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 2f580bbac3 |
Bump serde from 1.0.159 to 1.0.160 (#2807)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.160</h2> <ul> <li>Make derived serializer/deserializer internals <code>doc(hidden)</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a>, thanks <a href="https://github.com/compiler-errors"><code>@compiler-errors</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 303d8d4b69 |
Bump bitflags from 2.0.2 to 2.1.0 (#2788)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.0.2 to 2.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.1.0</h2> <h2>What's Changed</h2> <ul> <li>Add docs for the internal Field0 and examples of formatting/parsing by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/328">bitflags/bitflags#328</a></li> <li>Add support for arbitrary by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/324">bitflags/bitflags#324</a></li> <li>Fix up missing docs for consts within consts by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/330">bitflags/bitflags#330</a></li> <li>Ignore clippy lint in generated code by <a href="https://github.com/Jake-Shadle"><code>@Jake-Shadle</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/331">bitflags/bitflags#331</a></li> <li>Prepare for 2.1.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/334">bitflags/bitflags#334</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Jake-Shadle"><code>@Jake-Shadle</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/331">bitflags/bitflags#331</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.2...2.1.0">https://github.com/bitflags/bitflags/compare/2.0.2...2.1.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.1.0</h1> <h2>What's Changed</h2> <ul> <li>Add docs for the internal Field0 and examples of formatting/parsing by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/328">bitflags/bitflags#328</a></li> <li>Add support for arbitrary by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/324">bitflags/bitflags#324</a></li> <li>Fix up missing docs for consts within consts by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/330">bitflags/bitflags#330</a></li> <li>Ignore clippy lint in generated code by <a href="https://github.com/Jake-Shadle"><code>@Jake-Shadle</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/331">bitflags/bitflags#331</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Jake-Shadle"><code>@Jake-Shadle</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/331">bitflags/bitflags#331</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.2...2.1.0">https://github.com/bitflags/bitflags/compare/2.0.2...2.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
raskad | e286d9fbb7 |
Add AST node for parenthesized expressions (#2738)
Currently we have no explicit representation for parenthesized expressions which makes some behaviours impossible to detect. A bonus is that we can now turn AST that contains parenthesized expressions back to code. This Pull Request changes the following: - Add an AST node for parenthesized expressions. - Adjust some conversions and checks to "ignore"/"expand" parenthesized expressions. - Fix some tests that had parenthesized expressions. |
2 years ago |
Haled Odat | 6c438b5516 |
Implement constant folding optimization (#2679)
This PR implements an optimizer, It currently implements the [constant folding optimization][cfo]. this optimization is responsible for "folding"/evaluating constant expressions. For example: ```js let x = ((1 + 2 + -4) * 8) << 4 ``` Generates the following instruction(s) (`cargo run -- -t`): ``` 000000 0000 PushOne 000001 0001 PushInt8 2 000003 0002 Add 000004 0003 PushInt8 4 000006 0004 Neg 000007 0005 Add 000008 0006 PushInt8 8 000010 0007 Mul 000011 0008 PushInt8 4 000013 0009 ShiftLeft 000014 0010 DefInitLet 0000: 'x' ``` With constant folding it generates the following instruction(s) (`cargo run -- -t -O`): ``` 000000 0000 PushInt8 -128 000002 0001 DefInitLet 0000: 'x' ``` It changes the following: - Implement ~~WIP~~ constant folding optimization, ~~only works with integers for now~~ - Add `--optimize, -O` flag to boa_cli - Add `--optimizer-statistics` flag to boa_cli for optimizer statistics - Add `--optimize, -O` flag to boa_tester After I finish with this, will try to implement other optimizations :) [cfo]: https://en.wikipedia.org/wiki/Constant_folding |
2 years ago |
dependabot[bot] | d134a0acee |
Bump serde from 1.0.158 to 1.0.159 (#2755)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.158 to 1.0.159. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.159</h2> <ul> <li>Accept empty #[serde()] attribute (<a href="https://redirect.github.com/serde-rs/serde/issues/2422">#2422</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | 6ea4848bb5 |
Fix documentation links (#2741)
This PR changes the following: - Adds a new (very simple) security policy, to comply with GitHub standards - Changes the internal links of the documentation to point to the new boajs.dev domain - The developer documentation link now lies in the CONTRIBUTING.md file |
2 years ago |
raskad | 431a358b2f |
Implement `with` and object environments (#2692)
This Pull Request changes the following: - Implement `with` statement parsing, ast node, compilation and excution. - Implement object environments that are used in the `with` statement excution. The implementation of object environments can probably be optimized further by using more compile-time information about when object environments can exist. Maybe there could also be a separate environment stack for object environments to reduce the filtering and iteration that is needed with the current implementation. This does not fix all tests in the `test/language/statements/with` suite yet. But for most failing tests that I have looked at we are missing other features / have bugs elsewhere. As a note for the review: The functions in the `impl Context` block in `boa_engine/src/environments/runtime.rs` are mostly copied / moved from the existing functions. The only change there should be the addition of the object environment logic. They had to be moved to `Context` because of borrow semantics. |
2 years ago |
dependabot[bot] | 7b2564e126 |
Bump bitflags from 2.0.1 to 2.0.2 (#2701)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.0.1 to 2.0.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.0.2</h2> <h2>What's Changed</h2> <ul> <li>Fix up missing isize and usize Bits impls by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/321">bitflags/bitflags#321</a></li> <li>Prepare for 2.0.2 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/322">bitflags/bitflags#322</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.1...2.0.2">https://github.com/bitflags/bitflags/compare/2.0.1...2.0.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.0.2</h1> <h2>What's Changed</h2> <ul> <li>Fix up missing isize and usize Bits impls by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/321">bitflags/bitflags#321</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.1...2.0.2">https://github.com/bitflags/bitflags/compare/2.0.1...2.0.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 65bb0d890e |
Bump bitflags from 2.0.0 to 2.0.1 (#2677)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.0.0 to 2.0.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.0.1</h2> <h2>What's Changed</h2> <ul> <li>Fix up some docs issues by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/309">bitflags/bitflags#309</a></li> <li>Make empty_flag() const. by <a href="https://github.com/tormeh"><code>@tormeh</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/313">bitflags/bitflags#313</a></li> <li>Fix formatting of multi-bit flags with partial overlap by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/316">bitflags/bitflags#316</a></li> <li>Prepare for 2.0.1 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/317">bitflags/bitflags#317</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/tormeh"><code>@tormeh</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/313">bitflags/bitflags#313</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.0...2.0.1">https://github.com/bitflags/bitflags/compare/2.0.0...2.0.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.0.1</h1> <h2>What's Changed</h2> <ul> <li>Fix up some docs issues by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/309">bitflags/bitflags#309</a></li> <li>Make empty_flag() const. by <a href="https://github.com/tormeh"><code>@tormeh</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/313">bitflags/bitflags#313</a></li> <li>Fix formatting of multi-bit flags with partial overlap by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/316">bitflags/bitflags#316</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/tormeh"><code>@tormeh</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/313">bitflags/bitflags#313</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.0.0...2.0.1">https://github.com/bitflags/bitflags/compare/2.0.0...2.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | 0a843d2096 |
Bump bitflags to 2.0.0 (#2666)
Updated `bitflags`, overrides #2665. |
2 years ago |
dependabot[bot] | 6173a7343f |
Bump serde from 1.0.155 to 1.0.156 (#2662)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.155 to 1.0.156. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.156</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | b138a3088a |
Bump serde from 1.0.154 to 1.0.155 (#2650)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.154 to 1.0.155. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.155</h2> <ul> <li>Support <code>Serialize</code> and <code>Deserialize</code> impls for <code>core::ffi::CStr</code> and <code>alloc::ffi::CString</code> without "std" feature (<a href="https://redirect.github.com/serde-rs/serde/issues/2374">#2374</a>, thanks <a href="https://github.com/safarir"><code>@safarir</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 3d3191654d |
Bump serde from 1.0.153 to 1.0.154 (#2645)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.153 to 1.0.154. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.154</h2> <ul> <li>Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both <code>flatten</code> and <code>'static</code> fields (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2383">#2383</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 718fea378a |
Bump serde from 1.0.152 to 1.0.153 (#2640)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.153. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.153</h2> <ul> <li>Support <code>serde(alias = "…")</code> attribute used inside of flattened struct (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a>, thanks <a href="https://github.com/bebecue"><code>@bebecue</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
raskad | 310c67195a |
Remove Syntax Errors from Bytecompiler (#2598)
This Pull Request closes #1907. It changes the following: - Implement several early errors relating to labels, `break` and `continue` in the parser. - Implement an early error for invalid cover grammar of object literals in the parser. - Remove all remaining syntax errors from the bytecompiler. |
2 years ago |
Iban Eguia Moraza | 3f9f6f0fce |
Module parsing (#2411)
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :) The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts. Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser. Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this? Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
raskad | 3725ff85f7 |
Implement binary `in` operation with private names (#2582)
This Pull Request changes the following: - Implement binary `in` operation with private names. - Adding a separate `BinaryInPrivate` expression in addition to the existing `Binary` expression seems like the best way to implement this in a typesafe manner. Other methods like adding an enum for the `Binary` lhs result in having to make assertions. |
2 years ago |
raskad | b76050df44 |
Move increment and decrement operations to `Update` expression (#2565)
This Pull Request changes the following: - Move postfix/prefix increment and decrement operations from the `Unary` expression to a new `Update` expression. - Add a special type for the `Update` expression target as it is very limited in comparision to an `Unary` target. - This makes bytecode compilation more typesafe for these operations and removes syntax errors from the bytecompiler without introducing panics (see #1907). |
2 years ago |
José Julián Espina | ddf00c8c03 |
Improve identifier parsing (#2581)
Another change extracted from #2411. This PR changes the following: - Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`. - Slightly improves some error messages. - Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro. - Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules. |
2 years ago |
raskad | e6a1c3789d |
Fix rust 1.67 lints (#2567)
This Pull Request changes the following: - Fix rust 1.67 lints |
2 years ago |
José Julián Espina | 097f85e409 |
First batch of `no_std` support for some sub-crates (#2544)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request enables support for `no_std` targets on some of our sub-crates. I intentionally left out `boa_ast` and `boa_cli` because they're the largest crates we have after `boa_engine`. `boa_gc` is a monster on its own, because we'll need to design a `no_std` multithreaded GC. Anyways, this changes the following: - Adds support for `no_std` on `boa_unicode`. - Adds support for `no_std` on `boa_profiler`. - Adds support for `no_std` on `boa_interner`. - Adds support for `no_std` on `boa_icu_provider`. |
2 years ago |
raskad | f19467ab1d |
Fix some HoistableDeclaration parsing errors (#2532)
This Pull Request hanges the following: - Add early errors for invalid `yield` and `await` usage in function parameters. - Add missing function types to hoistable ordering. - Do not attempt to parse `async` with a following line terminator as an async function. |
2 years ago |
raskad | f52d1d3eb5 |
Recognize Directive Prologues correctly (#2521)
This Pull Request changes the following: - Recognize the `"use strict"` directive prologue correctly. - Refactor parsers to remove a setter function. |
2 years ago |
raskad | 3dca430588 |
Refactor some class features (#2513)
This Pull Request fixes various bugs related to classes. The biggest changes are: - Changed private names to be unique across multiple classes. - Changed private name resolution to work via a visitor after a class is parsed. The way class early errors are defined makes it impossible to perform private name resolution while parsing. - Added function names to class methods. - Added class name binding to method function environments. - Separated opcodes for `static` and non-`static` class method definitions to make the above operations possible. There are still some bugs and further issues with classes but this is already a lot. |
2 years ago |
raskad | f998a1c1ec |
Add early errors for 'eval' or 'arguments' in parameters (#2515)
This Pull Request changes the following: - Add early errors for functions to make sure that 'eval' or 'arguments' cannot be used as binding identifiers in function parameters. When the function body contains a strict directive, this also has to be accounted for. - Fix early errors for function identifiers to make sure they cannot be 'eval' or 'arguments' when a function body contains a strict directive. |
2 years ago |
Veera | 616b7a4513 |
Remove `Literal::Undefined` (#2518)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request fixes/closes #2512 . Removes `Literal::Undefined` so that `undefined` is treated as an identifier name. Ran the parser's idempotency fuzzer and ensured the bug doesn't reproduce. |
2 years ago |
dependabot[bot] | dcacc638aa |
Bump serde from 1.0.151 to 1.0.152 (#2509)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.151 to 1.0.152. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.152</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | 3bf5de2929 |
Redesign Intl API and implement some services (#2478)
This Pull Request fixes/closes #1180. (I'll open a tracking issue for the progress) It changes the following: - Redesigns the internal API of Intl to (hopefully!) make it easier to implement a service. - Implements the `Intl.Locale` service. - Implements the `Intl.Collator` service. - Implements the `Intl.ListFormat` service. On the subject of the failing tests. Some of them are caused by missing locale data in the `icu_testdata` crate; we would need to regenerate that with the missing locales, or vendor a custom default data. On the other hand, there are some tests that are bugs from the ICU4X crate. The repo https://github.com/jedel1043/icu4x-test262 currently tracks the found bugs when running test262. I'll sync with the ICU4X team to try to fix those. cc @sffc |
2 years ago |
José Julián Espina | cc45a827ca |
Cleanup inline annotations (#2493)
Per the [Standard Library development guide](https://std-dev-guide.rust-lang.org/code-considerations/performance/inline.html): > You can add `#[inline]`: > > - To public, small, non-generic functions. > > You shouldn't need `#[inline]`: > - On methods that have any generics in scope. > - On methods on traits that don't have a default implementation. > > `#[inline]` can always be introduced later, so if you're in doubt they can just be removed. This PR follows this guideline to reduce the number of `#[inline]` annotations in our code, removing the annotation in: - Non-public functions - Generic functions - Medium and big functions. Hopefully this shouldn't impact our perf at all, but let's wait to see the benchmark results. |
2 years ago |
dependabot[bot] | 69067cac22 |
Bump serde from 1.0.150 to 1.0.151 (#2497)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.150 to 1.0.151. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.151</h2> <ul> <li>Update <code>serde::</code>{<code>ser</code>,<code>de</code>}<code>::StdError</code> to re-export <code>core::error::Error</code> when serde is built with <code>feature="std"</code> <strong>off</strong> and <code>feature="unstable"</code> <strong>on</strong> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2344">#2344</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | af4292181b |
Bump serde from 1.0.149 to 1.0.150 (#2481)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.149 to 1.0.150. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.150</h2> <ul> <li>Relax some trait bounds from the <code>Serialize</code> impl of <code>HashMap</code> and <code>BTreeMap</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2334">#2334</a>)</li> <li>Enable <code>Serialize</code> and <code>Deserialize</code> impls of <code>std::sync::atomic</code> types on more platforms (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2337">#2337</a>, thanks <a href="https://github.com/badboy"><code>@badboy</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |