Do not call this method directly, use v.stmt
instead
# Try to compile self as a statement
# Do not call this method directly, use `v.stmt` instead
private fun stmt(v: JavaCompilerVisitor) do expr(v)
src/compiler/java_compiler.nit:1911,2--1913,52
redef fun stmt(v) do end
src/compiler/java_compiler.nit:2305,2--25
redef fun stmt(v) do v.add("break BREAK_{v.escapemark_name(escapemark)};")
src/compiler/java_compiler.nit:2122,2--75
redef fun stmt(v) do
var recv = v.expr(self.n_expr, null)
var value = v.expr(self.n_value, null)
var mproperty = self.mproperty.as(not null)
var attr = v.read_attribute(mproperty, recv)
var res = v.compile_callsite(self.reassign_callsite.as(not null), [attr, value])
assert res != null
v.write_attribute(mproperty, recv, res)
end
src/compiler/java_compiler.nit:2033,2--2041,4
redef fun stmt(v)
do
v.add_escape_label(break_mark)
v.add_escape_label(continue_mark)
v.add("for(;;) \{")
var cond = v.expr_bool(self.n_expr)
v.add("if (!{cond}) break;")
v.stmt(self.n_block)
v.add("\}")
end
src/compiler/java_compiler.nit:2098,2--2107,4
redef fun stmt(v)
do
v.add_escape_label(break_mark)
v.add_escape_label(continue_mark)
v.add("for(;;) \{")
v.stmt(self.n_block)
v.add("\}")
end
src/compiler/java_compiler.nit:2111,2--2118,4