Skip to content

Fix Function calls#12

Merged
SkymanOne merged 2 commits intomainfrom
func_call_fix
Apr 18, 2024
Merged

Fix Function calls#12
SkymanOne merged 2 commits intomainfrom
func_call_fix

Conversation

@SkymanOne
Copy link
Owner

@SkymanOne SkymanOne commented Apr 18, 2024

Summary

Instead of creating concrete vars and inserting them explicitly. We treat functions as subroutines and pass arguments in the top-level call. The functions then store values in the scratch and reference them later in the bodies.

Block level entry points pass txna ApplicationArgs <uint64>, whereas inline calls pass values or variables.

The FunctionCall structure in semantics also stores SymbolInfo instead of raw String to optimise instance access instead of looking it up.

@SkymanOne SkymanOne merged commit 3daad45 into main Apr 18, 2024
@SkymanOne SkymanOne deleted the func_call_fix branch April 18, 2024 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant