Update base for Update on "[compiler] Translate legacy FunctionSignature into new AliasingEffects"

To help bootstrap the new inference model, this PR adds a helper that takes a legacy FunctionSignature and converts into a list of (new) AliasingEffects. This conversion tries to make explicit all the implicit handling of InferReferenceEffects and previous FunctionSignature.

For example, the signature for Array.proto.pop has a calleeEffect of `Store`. Nowhere does it say that the receiver flows into the result! There's an implicit behavior that the receiver flows into the result. The new function makes this explicit by emitting a `Capture receiver -> lvalue` effect.

So far I confirmed that this works for Array.proto.push() if i hard code the inference to ignore new-style aliasing signatures. I'll continue to refine it going forward as I start running the new inference on more fixtures.

[ghstack-poisoned]
This commit is contained in:
Joe Savona
2025-06-01 17:19:29 -07:00
parent cceeb55acc
commit 7ccda7ff31

Diff Content Not Available