aboutsummaryrefslogtreecommitdiff
path: root/matlab/+types/Function.m
blob: 9270ed15bddafc41050c822143f6d103ecabf22f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
classdef Function < handle
    properties
        fn
        ast
        env
        params
        is_macro = false
        meta = types.nil;
    end
    methods
        function f = Function(fn, ast, env, params)
            f.fn = fn;
            f.ast = ast;
            f.env = env;
            f.params = params;
        end

        function ret = clone(obj)
            ret = types.Function(obj.fn, obj.ast, obj.env, obj.params);
            ret.is_macro = obj.is_macro;
            ret.meta = obj.meta;
        end
    end
end