cwal

All files named ”s2/unit/400-000-new.s2”
Login

All files named ”s2/unit/400-000-new.s2”

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for s2/unit/400-000-new.s2

2020-01-30
17:25
An effort at extending s2's constructor support to allow Functions to act as their own JS-style ctors. It basically works but cannot, due to a new level of indirection, be made to work inuitively with the inherits keyword, so the effort is being sidelined for now. file: fd6ad7bbc3 check-in: [54451bdf90] user: stephan branch: s2-instance-prototype, size: 7410
2020-01-11
18:21
Extended typeinfo(tagname) to also support typeinfo(tag-name) to improve readability of the longer tags. Improved s2_eval-keyword-hasher.s2 to allow it to selectively generate its various outputs. file: 06f5426d12 check-in: [c5cbace093] user: stephan branch: trunk, size: 6836
2018-09-22
11:22
Updated the 'new' op tests to remove the new-is-disabled check (it no longer applies). file: cde8609578 check-in: [d60676c398] user: stephan branch: trunk, size: 6834
2017-12-25
10:49
Removed s2's hash-entries-via-dot-op feature from the public API, as it is a hotbet of corner/special cases and would like interfere with eventual interceptor support. We still use it internally for hash-backed enums. file: 4524211a10 check-in: [f97f326ffd] user: stephan branch: trunk, size: 7778
2017-12-06
10:32
Refactored typeinfo(isnewing) to be able to work intuitively in subscopes within the ctor call and extended it to optionally take an expression. file: 076cb30172 check-in: [d26a553167] user: stephan branch: trunk, size: 7816
2016-02-09
12:24
unit test additions to confirm [6befa9419da69bef] and [a8155c3b8430c9a4] are working. file: 57478db3eb check-in: [b76e99e983] user: stephan branch: trunk, size: 7444
2016-02-05
09:48
Went ahead and renamed 's2::new' to __new. The former was just me being anal. i'm over it. file: 280f8b9646 check-in: [88fa8f60e0] user: stephan branch: trunk, size: 7294
2016-01-30
04:44
more unit tests file: fae7beb249 check-in: [ea943f1101] user: stephan branch: trunk, size: 7326
04:28
new() post-init blocks now properly handle (meaning they fail with location info) if return/break/continue is propagated through them. file: ec3d3dc9c5 check-in: [13bc58c594] user: stephan branch: trunk, size: 6801
04:09
minor test addition. file: b3207c7415 check-in: [e4fa931846] user: stephan branch: trunk, size: 6409
03:58
enhanced typeinfo(isnewing) to remove the 2nd (now internally derived) parameter. file: 48fee4149c check-in: [b81dac8243] user: stephan branch: trunk, size: 6240
02:58
minor cleanups and test additions to the new post-new-init code. file: 8d85b86c1d check-in: [7fde25695a] user: stephan branch: trunk, size: 6101
2016-01-26
19:36
An overhaul of the internals of the 'new' keyword to move some of that functionality in the public API and reduce some code duplication. Still works the same. Added typeinfo(isnewing EXPR) which evals to true if EXPR is current in the process of being new'd (i.e. if it is the 'this' object created by the 'new' keyword for the ctor call). Might look for a better name/place for that operation. file: 2e6c5f69da check-in: [4d2069388b] user: stephan branch: trunk, size: 5758
2016-01-24
17:01
s2 new X() now pushes an entry to the call stack, else the errors are hard to follow when the ctor throws. Fixed a corner case in s2_throw_value() which caused the error location props to be set on the wrong container when inheriting from the Exception type. Other minor tinkering. file: 7faba0b618 check-in: [09a407c621] user: stephan branch: trunk, size: 5274
02:55
added typeinfo(cannew EXPR), evaling to true if EXPR is legal as an operand for the 'new' keyword. Other minor tinkering. file: b1e9e63a6c check-in: [8c84aff32b] user: stephan branch: trunk, size: 4464
2016-01-21
19:40
added another unit test. file: 3bdd5dded2 check-in: [91a2f49e6c] user: stephan branch: trunk, size: 3356
16:48
added more unit tests for//demonstrations of the "new" keyword. file: fb3adc765a check-in: [d5613bd0dc] user: stephan branch: trunk, size: 3282
09:04
Minor restructuring of how s2_ptoken_create_value() works, sharing values from s2_engine::stash. Saves a handful of allocs and allocations across the board. Renamed the "__new" magic method to "s2::new", despite its unsightliness. file: 14fd8c8291 check-in: [3d2f02e3ef] user: stephan branch: trunk, size: 2806
2016-01-18
10:13
fixed incorrect comment. file: 62b0a62d2e check-in: [10c7e0a298] user: stephan branch: trunk, size: 2788
2016-01-15
11:12
insignificant comment/test tweaks. file: d09342158b check-in: [6a05fd60f4] user: stephan branch: trunk, size: 2878
2016-01-06
16:41
more unit tests file: 83f00b0123 check-in: [ae6c8be0f5] user: stephan branch: enum-with-value, size: 2875
2014-12-17
22:12
Minor const-related refactoring related to, and notes regarding, property accessor interceptors, which i would like to explore once the hand allows it. file: 029f9d0195 check-in: [063462ebcd] user: stephan branch: trunk, size: 2167
2014-12-16
14:11
s2: changed how reserved keywords are handled in skip mode because of... found (by accident) the cause of the sudden drop in allocation count in the amalgamated unit tests - a return which is triggered when the 'new' keyword is disabled. Refactored that bit. file: 86d4193f71 check-in: [0942ffef9c] user: stephan branch: trunk, size: 1147
2014-12-06
01:40
Added: s2: API renaming, more work on the 'new' keyword. file: 73d3eba965 check-in: [874963ab8e] user: stephan branch: trunk, size: 1009