with Scripting.Expressions.Functions; use Scripting.Expressions.Functions;
package Scripting.Statements.Methods is
type Method is new Statement with private;
type A_Method is access all Method'Class;
function Create_Method return A_Method;
pragma Postcondition( Create_Method'Result /= null );
procedure Set_Function( this : not null access Method'Class;
func : not null A_Function );
private
type Method is new Statement with
record
func : A_Function;
end record;
procedure Delete( this : in out Method );
procedure Evaluate( this : access Method;
context : not null A_Eval_Context );
end Scripting.Statements.Methods;