From 57b9d1b2e3aca1f5fdf079642704cdad6326abeb Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Mon, 10 Aug 2009 13:07:26 -0400 Subject: [PATCH] icode: closures are generated within a ICodeBuilder Signed-off-by: Jean Privat --- src/icode/icode_builder.nit | 6 +++--- src/syntax/icode_generation.nit | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/icode/icode_builder.nit b/src/icode/icode_builder.nit index 2d75813..c7cfe59 100644 --- a/src/icode/icode_builder.nit +++ b/src/icode/icode_builder.nit @@ -235,16 +235,16 @@ redef class MMSignature end # Create an empty IClosureDef that match the signature - fun generate_empty_iclosuredef: IClosureDef + fun generate_empty_iclosuredef(icb: ICodeBuilder): IClosureDef do var args = new Array[IRegister] for i in [0..arity[ do - args.add(new IRegister(self[i])) + args.add(icb.new_register(self[i])) end var res: nullable IRegister = null var rtype = return_type if rtype != null then - res = new IRegister(rtype) + res = icb.new_register(rtype) end var iroutine = new IClosureDef(args, res) var clos: nullable Array[IClosureDecl] = null diff --git a/src/syntax/icode_generation.nit b/src/syntax/icode_generation.nit index e84d03b..9477f2d 100644 --- a/src/syntax/icode_generation.nit +++ b/src/syntax/icode_generation.nit @@ -340,7 +340,7 @@ redef class AClosureDecl redef fun accept_icode_generation(vv) do var v = vv.icode_ctx - var iclos = variable.closure.signature.generate_empty_iclosuredef + var iclos = variable.closure.signature.generate_empty_iclosuredef(v) var old_seq = v.seq v.seq = iclos.body escapable.continue_seq = iclos.body -- 1.7.9.5