Skip to content

Commit d9a7a38

Browse files
authored
Make all fields in AssertionDscOp1 and AssertionDscOp2 private (#123955)
[No diffs](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1278933&view=ms.vss-build-web.run-extensions-tab). This PR effectively makes all fields in `AssertionDsc`, `AssertionDscOp1` and `AssertionDscOp2` private and exposes them via public getters with tons of asserts to validate that we use them in the correct context, I suspect I probably fixed a potential bug along the way. Now all assertions are 100% never mutated outside of their Factory methods (and ReverseEquality one). As a side effect, I slightly compacted `AssertionDscOp1` with a union, now `AssertionDsc` is 40 bytes (on 64bit). I think it's possible to shrink it down to 32 bytes. Also, renamed the fields to match our guidelines (m_) Also, slightly improved JitDump for assertions.
1 parent 2fac8ba commit d9a7a38

File tree

5 files changed

+571
-517
lines changed

5 files changed

+571
-517
lines changed

0 commit comments

Comments
 (0)