diff options
author | martinw | 2000-10-27 14:54:15 +0000 |
---|---|---|
committer | martinw | 2000-10-27 14:54:15 +0000 |
commit | 6ceea4d62ef4d5d77e4337235d7b8a4b2557ce9a (patch) | |
tree | f329015918937b00433309d34714575e6198b8ef /frontend/checkFunctionBodies.dcl | |
parent | bug fix in copying abstract types from dcl module to icl module (diff) |
moving huge part of code out of check into new module checkFunctionBodies
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@272 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checkFunctionBodies.dcl')
-rw-r--r-- | frontend/checkFunctionBodies.dcl | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/frontend/checkFunctionBodies.dcl b/frontend/checkFunctionBodies.dcl new file mode 100644 index 0000000..58ef680 --- /dev/null +++ b/frontend/checkFunctionBodies.dcl @@ -0,0 +1,22 @@ +definition module checkFunctionBodies + +import syntax, checksupport + +:: ExpressionState = + { es_expr_heap :: !.ExpressionHeap + , es_var_heap :: !.VarHeap + , es_type_heaps :: !.TypeHeaps + , es_calls :: ![FunCall] + , es_dynamics :: ![ExprInfoPtr] + , es_fun_defs :: !.{# FunDef} + } + +:: ExpressionInput = + { ei_expr_level :: !Level + , ei_fun_index :: !Index + , ei_fun_level :: !Level + , ei_mod_index :: !Index + } + +checkFunctionBodies :: !FunctionBody !.ExpressionInput !*ExpressionState !*ExpressionInfo !*CheckState + -> (FunctionBody,[FreeVar],!.ExpressionState,.ExpressionInfo,!.CheckState); |