José Julián Espina
73a718c8a4
Add convenience methods to `ModuleLoader` ( #3007 )
...
* Add convenience methods to `ModuleLoader`
* Document special behaviour of `SimpleModuleLoader`
1 year ago
raskad
caaf1d258c
Fix panics on empty return values ( #3018 )
1 year ago
dependabot[bot]
e4b7e63830
Bump serde from 1.0.163 to 1.0.164 ( #3016 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.163 to 1.0.164.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164 )
---
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>
1 year ago
raskad
493176b4f8
Return the correct value during a labelled break ( #2996 )
1 year ago
José Julián Espina
a989462e25
Unify async iterators and iterators compilation ( #2976 )
...
* Close active iterators when returning from async generator
* Fix remaining async generator tests
* Fix remaining async generator tests
* Replace some reserved opcodes
* Fix for await of loop flag
* Add tests for fix
* Remove whitespace
* Fix test display and improve test
* Change `usize` to `u32`
1 year ago
raskad
c9a7bdcab8
Fix panic in constructor call ( #3001 )
1 year ago
Shane Murphy
eeeaaeebcc
Fix prompt on windows ( #2986 )
...
* Fix typo
* Refactor prompt highlighting into RLHelper
By moving the prompt coloring to be done in
Highlighter::highlight_prompt, we sidestep the issue on Windows where
the prompt width is calculated post-coloring AND without ignoring escape
codes.
By including it in the implementation of Highlighter, Editor::readline
now operates on a plain-text prompt, so width calculation is correct.
This commit also re-arranges the trait impl order to match the
definition.
1 year ago
dependabot[bot]
f18b3be672
Bump once_cell from 1.17.2 to 1.18.0 ( #2999 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.17.2 to 1.18.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.2...v1.18.0 )
---
updated-dependencies:
- dependency-name: once_cell
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>
1 year ago
José Julián Espina
ee97198d01
Allow `true`, `false` and `null` in object patterns ( #2994 )
...
* Allow `true`, `false` and `null` in object patterns
* Add test
2 years ago
Jason Williams
de241c2b60
show object kind, name and address when using dbg! ( #2960 )
...
* show object kind, name and address when using dbg!
* Update boa_engine/src/object/jsobject.rs
Co-authored-by: Haled Odat <8566042+HalidOdat@users.noreply.github.com>
* Update boa_engine/src/object/jsobject.rs
Co-authored-by: Haled Odat <8566042+HalidOdat@users.noreply.github.com>
* Run `rust-fmt`
---------
Co-authored-by: Haled Odat <8566042+HalidOdat@users.noreply.github.com>
2 years ago
José Julián Espina
2fa9c65e97
Correctly initialize functions inside modules ( #2993 )
2 years ago
José Julián Espina
65bf54d7e0
Fix WASM playground ( #2992 )
2 years ago
raskad
9367ee24aa
Fix rust 1.70 lints ( #2990 )
2 years ago
dependabot[bot]
14176a2cee
Bump chrono from 0.4.25 to 0.4.26 ( #2982 )
...
Bumps [chrono](https://github.com/chronotope/chrono ) from 0.4.25 to 0.4.26.
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.25...v0.4.26 )
---
updated-dependencies:
- dependency-name: chrono
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
José Julián Espina
f9c26de90e
Add test case for issue #2719 ( #2980 )
2 years ago
Haled Odat
f0422bdf3b
Direct conversion from `u8` to `Opcode` ( #2951 )
2 years ago
dependabot[bot]
44ef49efa7
Bump chrono from 0.4.24 to 0.4.25 ( #2977 )
...
Bumps [chrono](https://github.com/chronotope/chrono ) from 0.4.24 to 0.4.25.
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.24...v0.4.25 )
---
updated-dependencies:
- dependency-name: chrono
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
dependabot[bot]
867685e1f0
Bump once_cell from 1.17.1 to 1.17.2 ( #2978 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.17.1 to 1.17.2.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.1...v1.17.2 )
---
updated-dependencies:
- dependency-name: once_cell
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
Haled Odat
c013caca22
Prune collected shared shapes ( #2941 )
...
* Prune garbage collected `SharedShape`s
* Prune on insertion limit
2 years ago
Haled Odat
f1bab1edef
Remove `arguments_binding` field from `CodeBlock` ( #2969 )
...
* Ensure the "arguments" is the first argument
* Remove `arguments_binding` field from `CodeBlock`
2 years ago
Haled Odat
67c5652911
Remove unneded `num_bindings` in `Opcode`s and `CodeBlock` ( #2967 )
...
* Remove redundant `num_bindings` field from `CodeBlock`
* Remove redundant num_bindings parameter from push_function_inherits
* Remove redundant num_bindings operand from environment opcodes
* Make pop_compile_environment() return an index
* Move boolean `CodeBlock` flags to bitflags
* Fix ci
* Add doc
2 years ago
raskad
4ea80f4621
Remove unused lint allows ( #2968 )
2 years ago
Haled Odat
15749ed295
Remove redundant `param_count` field from `CallFrame` ( #2962 )
2 years ago
José Julián Espina
7ae858204b
Implement pseudo-property `import.meta` ( #2956 )
...
* Implement pseudo-property `import.meta`
* Apply review
2 years ago
José Julián Espina
9bbe0184a4
Fix remaining static module bugs ( #2955 )
...
* Fix remaining module bugs
* npx prettier
* Fix regression
2 years ago
Haled Odat
57ba979415
Fix remaining ES5 `built-ins/RegExp` tests ( #2957 )
2 years ago
José Julián Espina
09658b02bc
Implement dynamic imports ( #2932 )
...
* WIP: 76d7eceed6 Implement dynamic imports
* Expand `ActiveRunnable` to missing places
* Fix memory leak
* Fix docs
* Parse `import` as call expression
* Fix regressions
* Fix copypasted doc
* clippy fix
* Adjust ignored features
* Migrate away from `top_level_*` operations
* Fix more module tests
* Fix doc link
2 years ago
Haled Odat
3f5bad7888
Shrink environment binding locators ( #2950 )
2 years ago
Haled Odat
e335c54926
Type safe root shape ( #2940 )
...
* Implement type safe root object shape
* Implement `From` for Unique and Shared shapes
2 years ago
raskad
4a368a2431
Fix `use_self` lints ( #2946 )
2 years ago
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
Haled Odat
190eeb388b
Fix `GetSubstitution` ( #2933 )
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
José Julián Espina
71ea4d2f74
Separate declarative environment kinds ( #2921 )
...
* Separate declarative environment kinds
* Fix typos
2 years ago
raskad
2faa2470db
Cleanup some bytecompiler code ( #2918 )
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
719b5a171d
Add SyntaxErrors in GlobalDeclarationInstantiation ( #2908 )
...
* Add SyntaxErrors in GlobalDeclarationInstantiation
* Fix tests
* Apply suggestions
2 years ago
raskad
484cc16bb9
Fix remaining object literal tests ( #2906 )
2 years ago
raskad
c2205052bc
Fix wrong name of `Function.prototype[Symbol.hasInstance]` ( #2905 )
2 years ago
Haled Odat
b4b77e77b4
Implement runtime limits for recursion ( #2904 )
...
* Implement runtime limits for recursion
* Remove "tail-call-optimization" from ignore list
* Run prettier
* Add example and tests
2 years ago
raskad
990e4df947
Make `typeof` throw when accessing uninitialized variables ( #2902 )
2 years ago
Haled Odat
31a60cb448
Direct length access on arrays ( #2796 )
2 years ago
Haled Odat
d20304ea21
Prevent allocation of field names ( #2901 )
2 years ago