# Generate all basic blocks for this code
fun generate_basic_blocks(ssa: SSA) is abstract
src/ssa.nit:208,2--209,48
redef fun generate_basic_blocks(ssa: SSA)
do
basic_block = new BasicBlock
basic_block.first = self
basic_block.last = self
# Add the return variable
variables.add(returnvar)
# Add the self variable
if self.selfvariable != null then variables.add(selfvariable.as(not null))
# Recursively goes into the nodes
if n_block != null then
n_block.generate_basic_blocks(ssa, basic_block.as(not null))
is_generated = true
end
end
src/ssa.nit:472,2--489,4
redef fun generate_basic_blocks(ssa: SSA)
do
basic_block = new BasicBlock
basic_block.first = self
basic_block.last = self
# If the method has a signature
if n_signature != null then
for p in n_signature.n_params do
# Add parameters to the local variables
variables.add(p.variable.as(not null))
p.variable.parameter = true
end
end
# Add the return variable
variables.add(returnvar)
# Add the self variable
if self.selfvariable != null then variables.add(selfvariable.as(not null))
# Recursively goes into the nodes
if n_block != null then
n_block.generate_basic_blocks(ssa, basic_block.as(not null))
is_generated = true
end
end
src/ssa.nit:493,2--519,4