summaryrefslogtreecommitdiff
path: root/chapter16/src/test/java
Commit message (Collapse)AuthorAgeFilesLines
* Add testRedeclareVar in all later chapterstannal2025-01-191-0/+10
|
* Test for "arg--2"Cliff Click2025-01-151-0/+6
| | | | Parse as "arg - -2" and not "arg-- 2" which is a syntax error
* Allow post ++, --Cliff Click2024-11-233-3/+2
| | | | | | | | | | Fix eval auto-string result. Fix tests hacked because of this. Turn on BrainFuck in ch15,16,17, also disabled because of this. Use new features in BrainFuck. Fix bug not lifting forward refs; add a toString to Vars. Fix some missing addDeps. Remove large complex not-productive peep. Upcast after "while" tests. Improves a bunch of tests. Remove dead getBlockStart.
* Minor README comment changesCliff Click2024-10-211-0/+3
|
* ch 16 READMECliff Click2024-10-211-0/+20
|
* review comment fixesCliff Click2024-10-211-1/+1
| | | | | TODO for GraphViz Remove dead code
* Remove unneeded cutout testCliff Click2024-10-211-3/+3
|
* Parsing dead field expressionsCliff Click2024-10-211-6/+5
| | | | | | | `null` is a constant; "if(null)" will collapse. Phi w/mem keep mem even when dead. Load handles dead mem. static class Var
* Bunch of fuzzer fixesCliff Click2024-10-214-4/+43
| | | | | | Mostly minor progress. Lost? shl/shr/sar high-type fixes. Turn off some printing crept back in
* fuzzer bug fixesCliff Click2024-10-215-21/+136
| | | | | | | ignore temps made during constructing and/or/xor honor TypeInteger.TOP; TypeInteger.nonZero works with zero NotNode keeps precision. Scope lazy phis of narrow ints auto-widen
* Missing init-store-after-new optCliff Click2024-10-211-1/+2
|
* Constructors workingCliff Click2024-10-2115-93/+111
| | | | | | | | | Replace ArrayList with Ary, because no "setLength" in ArrayList and "size" is private so I cannot even override. Replace Utils.find with Ary.find. Split Scope into Scope and ScopeMin (bad name). Memory edges go in ScopeMin, and it is pointed at from Scope.mem(). This lets us lazily add memory edges without interleaving them through other non-memory aliases, which was breaking all sorts of parser invariants. ScopeMin aliases are added lazily. Scope & ScopeMin now use an array-of-Var structs instead of a struct-of-arrays.
* ConstructorsCliff Click2024-10-216-38/+64
| | | | | | | | Missing arrays yet. Allow constructor syntax in 2 parts; the type description and at the New. must-init fields (final and not-null) have to be initialized in at least one of the two places; finals must be initialized exactly once. Any code is allowed in the constructors.
* final fields and multi defsCliff Click2024-10-215-61/+121
| | | | | | `int x,y;` works `int !x = 3;` works Structs defs are statements, require a trailing `;`
* Add a first test to code toCliff Click2024-10-211-0/+39
|
* First pushCliff Click2024-10-2125-0/+6013