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); }
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); } }