Regex
object from a literal prefixed string
# Factorize the making of a `Regex` object from a literal prefixed string
fun make_re(v: NaiveInterpreter, rs: Instance): nullable Instance do
var tore = to_re
assert tore != null
var res = v.callsite(tore, [rs])
if res == null then
print "Cannot call property `to_re` on {self}"
abort
end
for j in suffix.chars do
if j == 'i' then
var prop = ignore_case
assert prop != null
v.callsite(prop, [res, v.bool_instance(true)])
continue
end
if j == 'm' then
var prop = newline
assert prop != null
v.callsite(prop, [res, v.bool_instance(true)])
continue
end
if j == 'b' then
var prop = extended
assert prop != null
v.callsite(prop, [res, v.bool_instance(false)])
continue
end
# Should not happen, this needs to be updated
# along with the addition of new suffixes
abort
end
return res
end
src/interpreter/naive_interpreter.nit:2086,2--2119,4