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 | |