X-Git-Url: http://nitlanguage.org diff --git a/src/icode/icode_tools.nit b/src/icode/icode_tools.nit index 1201f00..1071959 100644 --- a/src/icode/icode_tools.nit +++ b/src/icode/icode_tools.nit @@ -15,6 +15,7 @@ # limitations under the License. # Tools to manipulate intermediace nit code representation +module icode_tools import icode_builder # A simple visitor to visit icode structures @@ -384,12 +385,47 @@ end redef class INative redef fun inner_dup_with(d) do - var c2 = new INative(code, d.dup_iregs(exprs)) + var c2 = new INative(method, d.dup_iregs(exprs)) c2.is_pure = is_pure return c2 end end +redef class IIntValue + redef fun inner_dup_with(d) + do + return new IIntValue(value) + end +end + +redef class IBoolValue + redef fun inner_dup_with(d) + do + return new IBoolValue(value) + end +end + +redef class IStringValue + redef fun inner_dup_with(d) + do + return new IStringValue(value) + end +end + +redef class IFloatValue + redef fun inner_dup_with(d) + do + return new IFloatValue(value) + end +end + +redef class ICharValue + redef fun inner_dup_with(d) + do + return new ICharValue(value) + end +end + redef class IMove redef fun inner_dup_with(d) do