super_args
: Correspond to the super
call arguments
# Creating specific inheritance block contract
#
# `super_args` : Correspond to the `super` call arguments
private fun create_inherit_nblock(v: ContractsVisitor, n_conditions: Array[AExpr], super_args: Array[AExpr]): ABlockExpr is abstract
src/contracts.nit:284,2--287,133
redef fun create_inherit_nblock(v: ContractsVisitor, n_conditions: Array[AExpr], super_args: Array[AExpr]): ABlockExpr
do
var n_block = v.ast_builder.make_block
for n_condition in n_conditions do
# Creating the if expression with the new condition
var if_block = v.ast_builder.make_if(n_condition, n_condition.mtype)
# Creating and adding return expr to the then case
if_block.n_then = v.ast_builder.make_return
if_block.location = n_condition.location
n_block.add if_block
end
n_block.add v.ast_builder.make_super_call(super_args)
return n_block
end
src/contracts.nit:414,2--427,4
redef fun create_inherit_nblock(v: ContractsVisitor, n_conditions: Array[AExpr], super_args: Array[AExpr]): ABlockExpr
do
# Define contract block
var n_block = v.ast_builder.make_block
var super_call = v.ast_builder.make_super_call(super_args)
n_block.add super_call
for n_condition in n_conditions do
var tid = new TId.init_tk(n_condition.location)
tid.text = "{n_condition.location.text}"
# Creating the assert expression with the new condition
var n_assert = v.ast_builder.make_assert(tid, n_condition)
n_assert.location = n_condition.location
n_block.add n_assert
end
return n_block
end
src/contracts.nit:455,2--472,4