From: Jean Privat Date: Fri, 16 Jan 2015 10:41:59 +0000 (+0700) Subject: compiler: --erasure use `virtual_runtime_function` instead of hard-building names X-Git-Tag: v0.7.1~24^2 X-Git-Url: http://nitlanguage.org compiler: --erasure use `virtual_runtime_function` instead of hard-building names Signed-off-by: Jean Privat --- diff --git a/src/compiler/separate_erasure_compiler.nit b/src/compiler/separate_erasure_compiler.nit index 8a33265..2c90e65 100644 --- a/src/compiler/separate_erasure_compiler.nit +++ b/src/compiler/separate_erasure_compiler.nit @@ -235,13 +235,9 @@ class SeparateErasureCompiler v.add_decl("NULL, /* DEAD {mclass.intro_mmodule}:{mclass}:{mpropdef} */") continue end - if true or mpropdef.mclassdef.bound_mtype.ctype != "val*" then - v.require_declaration("VIRTUAL_{mpropdef.c_name}") - v.add_decl("(nitmethod_t)VIRTUAL_{mpropdef.c_name}, /* pointer to {mclass.intro_mmodule}:{mclass}:{mpropdef} */") - else - v.require_declaration("{mpropdef.c_name}") - v.add_decl("(nitmethod_t){mpropdef.c_name}, /* pointer to {mclass.intro_mmodule}:{mclass}:{mpropdef} */") - end + var rf = mpropdef.virtual_runtime_function + v.require_declaration(rf.c_name) + v.add_decl("(nitmethod_t){rf.c_name}, /* pointer to {mpropdef.full_name} */") end end v.add_decl("\}")