Halid Odat
76aba2ad55
Class module ( #677 )
...
- Added example and documenation
4 years ago
Tunahan Karlıbaş
744ee9f642
Fix panic when calling function that mutates itself ( #667 )
4 years ago
Halid Odat
ad162e09e3
Feature native class objects (`NativeObject` and `Class` traits) ( #627 )
4 years ago
Jarred Holman
c7531afd10
Add missing ops to exec module ( #635 )
...
* Node::ConditionalOp
* Node::Continue
4 years ago
HalidOdat
14d7791f40
Move `require_object_coercible` to `Value` ( #654 )
4 years ago
Jonathan Dickinson
13f73749c8
Fix undefined constant expression evaluation ( #645 )
4 years ago
HalidOdat
b42dd4cd8b
Index `PropertyKey`, `Object` iterators and symbol support ( #603 )
...
* Index `PropertyKey`, `Object` iterators and `Symbol` indexing support.
* PR feedback
4 years ago
54k1
7a51530dcd
Fix 532, 533, 641 ( #642 )
4 years ago
HalidOdat
c9afbf4221
Refactor `Function` ( #626 )
...
Co-authored-by: Iban Eguia <razican@protonmail.ch>
4 years ago
HalidOdat
d025207fc1
Feature `boa::Result<T>` ( #637 )
4 years ago
HalidOdat
c5b708b2ef
Moved value operations from `Interpreter` to `Value` ( #625 )
4 years ago
João Borges
667a820dee
Introduce PropertyKey for field acces, fix #172 (quotes around displayed strings) ( #373 )
...
Co-authored-by: HalidOdat <halidodat@gmail.com>
4 years ago
joshwd36
2de11ee487
Add comment
4 years ago
joshwd36
b437c9ff46
Implement and use Interpreter::global()
4 years ago
joshwd36
fa9228684f
Move create_intrinsics to Interpreter and implement Well-Known Symbols
4 years ago
HalidOdat
d8eb7caefd
Extracted `__proto__` from internal slots ( #580 )
4 years ago
joshwd36
1c1132d8e1
Initial implementation of Map() ( #550 )
...
Co-authored-by: HalidOdat <halidodat@gmail.com>
4 years ago
joshwd36
ffe8b5f337
Throw a type error when a non-object is called ( #561 )
4 years ago
HalidOdat
ca0eaeadb2
Removed `console`s dependency of `InternalState` ( #544 )
4 years ago
croraf
641dce1357
Refactor exec/expression into exec/call and exec/new ( #529 )
4 years ago
HalidOdat
357c7d07f7
Fix all `Value` operations and add unsigned shift right ( #520 )
4 years ago
Ryan Fickenscher
24418e7520
TypeError when to_object is passed null or undefined ( #518 )
...
Co-authored-by: HalidOdat <halidodat@gmail.com>
4 years ago
HalidOdat
8f8498eac1
`Value` refactor ( #498 )
...
- Refactor `String` => `Rc<str>`
- Refactor `Symbol` => `Rc<Symbol>`
- Refactor `BigInt` => `RcBigInt`
- Changed function signature, from `&mut Value` to `&Value`
- Removed `Interpreter::value_to_rust_number()
- Abstracted `Gc<GcCell<Object>>` to `GcObject`
- Removed unnecessary `Box`s in global environment
- Extracted `extensible` from internal slots
- Made `to_primitive` throw errors
- Removed `strict` parameter in `SameValue` function.
- The `SameValue` function is not dependent on strict mode.
4 years ago
croraf
c19ef724e3
Added undefined property to global scope ( #501 )
4 years ago
croraf
4ae939ac52
[ReferenceError] complete solution ( #488 )
4 years ago
HalidOdat
df13272fc0
Object specialization ( #419 )
4 years ago
Paul Lancaster
542b2cc005
Switch impl ( #451 )
...
Co-authored-by: Iban Eguia <razican@protonmail.ch>
4 years ago
gvasquez11
3ff200ea11
updated issue #484 ( #485 )
4 years ago
HalidOdat
496278c460
Fix compilation error
4 years ago
Richard
a987e76b9f
Add BigInt.asIntN() and BigInt.asUintN() functions ( #468 )
...
Co-authored-by: HalidOdat <halidodat@gmail.com>
4 years ago
Colin Suckow
96dec21c02
Implement PreferredType enum ( #470 )
4 years ago
Paul Lancaster
634dfb7e80
Optimise type comparisons ( #441 )
...
Co-authored-by: Iban Eguia <razican@protonmail.ch>
4 years ago
Paul Lancaster
84574b5da8
Divide the `run()` function ( #422 )
...
Co-authored-by: Iban Eguia <razican@protonmail.ch>
4 years ago
HalidOdat
d847ff826b
Specification compliant `ToBigInt` (`to_bigint`) ( #450 )
...
- Merged Ast `BigInt` to Builtin `BigInt`.
- Split `BigInt` logic to separate files.
- Added `builtins/bigint/operations.rs` for `BigInt` operations.
- Added `builtins/bigint/conversions.rs` for `BigInt` conversions.
- Added` builtins/bigint/equality.rs` for `BigInt` equality checking.
- Added tests.
4 years ago
Jason Williams
32b0741cc8
Profiler using measureme ( #317 )
...
Profiler
4 years ago
HalidOdat
bb2b6f638c
Added `TypeError` implementation ( #442 )
4 years ago
HalidOdat
5e71718928
Specification compliant `ToString` (`to_string`) ( #425 )
4 years ago
HalidOdat
d42e413f8a
Fixed function object constructable/callable ( #409 )
...
- Maded arrow functions non-constructable
- Simplified Function object and removed FunctionKind
- Rnamed create_ordinary -> ordinary, create_builtin -> builtin
- Added name and length properties in global objects
4 years ago
Iban Eguia
4beadfc9ad
Execution and Node modularization ( #392 )
4 years ago
Javed Nissar
29abfd6147
Resolved #359 ( #396 )
...
Removed Node::TypeOf, implemented UnaryOp::TypeOf, and added tests
4 years ago
HalidOdat
5f4a1f2266
Feature `BigInt` ( #358 )
4 years ago
Jason Williams
63f37a2858
implement "this" ( #320 )
...
* implement this
* remove construct/call from Object instead set func
* get_this_binding() was wrong, fixed
* BindingStatus is now properly set
* `this` now works on dynamic functions
* Migrates all builtins to use a single constructor/call fucntion to match the spec
* Ensure new object has an existing prototype
* create_function utility
* needing to clone before passing through
4 years ago
hello2dj
402041d432
impl abstract-equality-comparison ( #395 )
4 years ago
Alexander Kryvomaz
9cd9a39aa6
Implement unary void, delete operators ( #388 )
4 years ago
HalidOdat
1e18cb02d0
Value refactor ( #383 )
4 years ago
Iban Eguia
9c9c4638e0
Implemented function expressions ( #382 )
4 years ago
Alexander Kryvomaz
f6e0fdb197
Implement unary increment and decrement ( #380 )
4 years ago
HalidOdat
35f5f0b5b3
Code cleanup ( #372 )
4 years ago
Iban Eguia
422d0b7ea1
Optimised all `Vec<Node>` in `Node` to be `Box<[Node]>` ( #370 )
4 years ago
Alexander Kryvomaz
75cf44a08a
Implement for loop ( #374 )
...
* implement for loop execution
* for loop benchmark
* add more for loop tests
* Update boa/src/exec/tests.rs
Co-authored-by: Iban Eguia <razican@protonmail.ch>
4 years ago