Пример #1
0
        public static void ResolveFunctionBody(Context ctx, diagn.Reporter reporter, sema.Code.Body body, syn.Node node)
        {
            var resolver = new CodeResolver(ctx, reporter, body);

            var segment     = body.CreateSegment();
            var destination = new sema.Code.Lvalue.Register {
                index = 0
            };

            resolver.ResolveExpr(ref segment, destination, node);
        }
Пример #2
0
        private CodeResolver(Context ctx, diagn.Reporter reporter, sema.Code.Body code)
        {
            this.ctx      = ctx;
            this.reporter = reporter;
            this.code     = code;

            for (var i = 0; i < code.registers.Count; i++)
            {
                this.registersInScope.Add(true);
            }
        }