nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stdlib/strings: Factorized several functions in Text.
[nit.git]
/
src
/
naive_interpreter.nit
diff --git
a/src/naive_interpreter.nit
b/src/naive_interpreter.nit
index
016cdc8
..
537573c
100644
(file)
--- a/
src/naive_interpreter.nit
+++ b/
src/naive_interpreter.nit
@@
-249,7
+249,7
@@
private class NaiveInterpreter
# Return a new native string initialized with `txt`
fun native_string_instance(txt: String): Instance
do
# Return a new native string initialized with `txt`
fun native_string_instance(txt: String): Instance
do
- var val = new Buffer.from(txt)
+ var val = new FlatBuffer.from(txt)
val.add('\0')
var ic = self.mainmodule.get_primitive_class("NativeString")
return new PrimitiveInstance[Buffer](ic.mclass_type, val)
val.add('\0')
var ic = self.mainmodule.get_primitive_class("NativeString")
return new PrimitiveInstance[Buffer](ic.mclass_type, val)
@@
-264,7
+264,7
@@
private class NaiveInterpreter
# Return a stack stace. One line per function
fun stack_trace: String
do
# Return a stack stace. One line per function
fun stack_trace: String
do
- var b = new Buffer
+ var b = new FlatBuffer
b.append(",---- Stack trace -- - - -\n")
for f in frames do
b.append("| {f.mpropdef} ({f.current_node.location})\n")
b.append(",---- Stack trace -- - - -\n")
for f in frames do
b.append("| {f.mpropdef} ({f.current_node.location})\n")
@@
-623,10
+623,10
@@
redef class AConcreteMethPropdef
var args = [arguments.first]
for auto_super_init in auto_super_inits do
args.clear
var args = [arguments.first]
for auto_super_init in auto_super_inits do
args.clear
- for i in [0..auto_super_init.intro.msignature.arity+1[ do
+ for i in [0..auto_super_init.msignature.arity+1[ do
args.add(arguments[i])
end
args.add(arguments[i])
end
- v.send(auto_super_init, args)
+ v.callsite(auto_super_init, args)
end
end
end
end
@@
-767,7
+767,7
@@
redef class AInternMethPropdef
return null
else if pname == "copy_to" then
# sig= copy_to(dest: NativeString, length: Int, from: Int, to: Int)
return null
else if pname == "copy_to" then
# sig= copy_to(dest: NativeString, length: Int, from: Int, to: Int)
- var destval = args[1].val.as(Buffer)
+ var destval = args[1].val.as(FlatBuffer)
var lenval = args[2].to_i
var fromval = args[3].to_i
var toval = args[4].to_i
var lenval = args[2].to_i
var fromval = args[3].to_i
var toval = args[4].to_i
@@
-783,7
+783,7
@@
redef class AInternMethPropdef
if toval + lenval >= destval.length then
debug("Illegal access on {destval} for element {toval}+{lenval}/{destval.length}")
end
if toval + lenval >= destval.length then
debug("Illegal access on {destval} for element {toval}+{lenval}/{destval.length}")
end
- recvval.copy(fromval, lenval, destval, toval)
+ recvval.as(FlatBuffer).copy(fromval, lenval, destval, toval)
return null
else if pname == "atoi" then
return v.int_instance(recvval.to_i)
return null
else if pname == "atoi" then
return v.int_instance(recvval.to_i)
@@
-870,12
+870,12
@@
redef class AExternMethPropdef
var recvval = args.first.val
if pname == "io_write" then
var a1 = args[1].val.as(Buffer)
var recvval = args.first.val
if pname == "io_write" then
var a1 = args[1].val.as(Buffer)
- recvval.as(OStream).write(a1.substring(0, args[2].to_i))
+ recvval.as(OStream).write(a1.substring(0, args[2].to_i).to_s)
return args[2]
else if pname == "io_read" then
var str = recvval.as(IStream).read(args[2].to_i)
var a1 = args[1].val.as(Buffer)
return args[2]
else if pname == "io_read" then
var str = recvval.as(IStream).read(args[2].to_i)
var a1 = args[1].val.as(Buffer)
- new Buffer.from(str).copy(0, str.length, a1, 0)
+ new FlatBuffer.from(str).copy(0, str.length, a1.as(FlatBuffer), 0)
return v.int_instance(str.length)
else if pname == "io_close" then
recvval.as(IOS).close
return v.int_instance(str.length)
else if pname == "io_close" then
recvval.as(IOS).close