cwal

All files named "s2/unit/070-000-enum.s2"
Login

All files named "s2/unit/070-000-enum.s2"

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

History for s2/unit/070-000-enum.s2

2020-08-13
17:40
Doc and test updates for enums. file: [7e5310591e] check-in: [0652ffd6be] user: stephan branch: trunk, size: 10298
2020-02-21
04:21
s2 enums are now always hashes, instead of schizophrenic hashes/objects. This required a few minor changes, e.g. typeinfo(ishash/hashash) no longer eval to true for enumcs, and anEnum.# now works. Testing uncovered an unrelated assertion failure caused by a stale s2_engine::opErrPos pointer (fixed). file: [cc41b22af2] check-in: [c46a39fd75] user: stephan branch: trunk, size: 8659
2019-12-30
11:40
Added some sweeping-related pragmas, the testing of which led me down a rabbit hole in s2_keyword_f_eval(), which (it turned out) needed some work on its reference handling. file: [135a1dc5d9] check-in: [d29f4ba45a] user: stephan branch: trunk, size: 9075
2019-12-10
14:11
Added CWAL_CONTAINER_DISALLOW_PROTOTYPE_SET flag and CWAL_RC_DISALLOW_PROTOTYPE_SET result code, which are the prototype-set counterparts of CWAL_CONTAINER/RC_DISALLOW_PROP_SET, and applied them to s2_seal_container()-sealed objects (which includes the new s2out). Reworked s2 enum construction so that setting the prototype property there is well-defined (though probably ill-advised, and replacing enum prototypes may yet be removed as a feature). Removed some dead code. file: [f6be8abecb] check-in: [9484a7e93e] user: stephan branch: trunk, size: 9028
11:11
Added s2out keyword, which operates the same way that s2.io.output historically has. Minor tweaks in s2.tmpl() related to handling of the output function. Added s2_eval_cstr_with_var() and s2_seal_container(), both minor restructurings related to the s2out changes. This unfortunately revealed (again) a potential shortcoming in the handling of the CWAL_CONTAINER_DISALLOW_PROP_SET flag, in that it's still possible (but probably(?) should not be) to replace s2out's prototype. file: [c1256fc9c0] check-in: [394c5bbfa4] user: stephan branch: trunk, size: 7751
2018-05-08
00:34
more minor internal cleanups and a unit test update for the previous commit. file: [cb4a69dcf4] check-in: [bc12476f02] user: stephan branch: trunk, size: 7145
2017-12-04
15:05
Removed s2.enum.enumEntryCount member, as it's never used and leads to a subtle inconsistency between hash- and object-based arrays. file: [1c12da89c3] check-in: [857eb2e242] user: stephan branch: trunk, size: 7141
13:33
Changed s2 enums such that an entry with no value gets its own stringified form as its value, as this seems more useful than the undefined value. file: [54da615d0e] check-in: [673920da08] user: stephan branch: trunk, size: 7144
2017-11-11
23:13
The value parts of array and object entries no longer sloppily allow a trailing semicolon. Formerly such semicolons, e.g. [1,2;], [1;,2;], and {a:b;,c:d;}, were simply being consumed as part of a value's expression. Now they trigger a syntax error (and this uncovered one in the enum unit tests). file: [54f6b593ee] check-in: [ce791db8d6] user: stephan branch: trunk, size: 7275
2016-08-20
12:46
minor test update file: [16694a89c5] check-in: [96dbc28704] user: stephan branch: trunk, size: 7276
10:32
Fixed a not-_quite_-right assertion in the Unique-type's finalizer which could incorrectly trigger during scope cleanup. file: [b87b2f304e] check-in: [1627a35a2c] user: stephan branch: trunk, size: 7161
2016-08-19
22:46
added a test. file: [cc65ca31b9] check-in: [b44c02fceb] user: stephan branch: trunk, size: 6796
2016-08-18
18:41
enum unit test additions. file: [7c4e2e63b1] check-in: [044b909b95] user: stephan branch: s2-op-dotdot, size: 6711
17:41
switched from enum..entry to enum::entry. file: [5fd6d896c7] check-in: [03131fd977] user: stephan branch: s2-op-dotdot, size: 5943
15:20
Experimentally recycled the unused .. op to provide semantics which are a cross between the "." and "->" ops, and implemented it for enums so that (enum.entry.value) shortens to (enum..entry). file: [cc16b07717] check-in: [68630ad3ca] user: stephan branch: s2-op-dotdot, size: 5939
2016-07-29
08:49
accessing enumEntry.prototype is now legal, but Unique-value types currently have no shared prototype. file: [cf1f41bbb1] check-in: [96bf5b6b39] user: stephan branch: trunk, size: 5235
2016-02-13
15:53
Worked around a scope-cleanup crash caused by a Unique-typed value containing cycles (same problem we saw with cwal_value_pair experimentation). This case is a good argument for stealing bits from the refcount for a couple internal cwal_value flags. file: [c09e9f95c1] check-in: [e1076c4252] user: stephan branch: trunk, size: 5105
2016-01-06
10:01
s/typename .../typeinfo(name ...)/ file: [d42e279a7f] check-in: [88cb3745aa] user: stephan branch: enum-with-value, size: 4541
2016-01-05
23:56
added a few more enum tests file: [c67b73237c] check-in: [9f3232c6dc] user: stephan branch: enum-with-value, size: 4493
11:10
minor enum syntax consistency tweak: now superficially the same as Object literals. Also merged in trunk. file: [3fcc0c4236] check-in: [b0e722f166] user: stephan branch: enum-with-value, size: 3806
2015-08-14
15:17
minor test code tweaks. file: [19c28bc16e] check-in: [c56006cd3d] user: stephan branch: enum-with-value, size: 3809
15:08
enum enries with value pseudoproperty seems to work. Let's think on it a while before integrating it. file: [f93719f308] check-in: [3aa469f15c] user: stephan branch: enum-with-value, size: 3814
2014-12-07
16:20
minor refactoring and cleanups related to the new container flags/behaviours. file: [2a59fe0ee4] check-in: [8335982e35] user: stephan branch: trunk, size: 2699
2014-12-06
23:49
More enum work. Added s2_hash_grow_if_loaded() and s2.Hash.growIfLoaded(). Refactored object/hash literal parser to not require an intermediate Object when in hash mode. file: [eca650b3b5] check-in: [8385ea0f08] user: stephan branch: trunk, size: 1862
20:34
s2: more on enums. file: [736505e4fe] check-in: [32d3c8ca65] user: stephan branch: trunk, size: 1637
16:30
Added: core: more work on the various container flags, s2: more work on the enum keyword, other minor cleanups. file: [d51fddc148] check-in: [8c61a703a0] user: stephan branch: trunk, size: 1197