# limitations under the License.
# Tools to manipulate intermediace nit code representation
+module icode_tools
import icode_builder
# A simple visitor to visit icode structures
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