mirror of
https://github.com/safishamsi/graphify.git
synced 2026-10-15 16:39:43 +00:00
A Solidity enum value is a discriminant case, not a declared member, so it should hang off its enum with a case_of edge like every other language that has enums (Java #1719, C#, Swift, Rust, VB.NET). Solidity was the lone remaining outlier, routing enum values through the same contains path used for struct fields. The relation is not cosmetic: case_of targets are excluded from constructor binding, so an enum value named like a type could previously be mistaken for one. Struct fields keep contains, since a field is a real declaration. Add a regression test asserting enum values get case_of (and not contains) while a struct field keeps contains.