Should contract be called?

return true if the contract needs to be called.

Property definitions

nitc :: contracts $ MContract :: is_called
	# Should contract be called?
	# return `true` if the contract needs to be called.
	private fun is_called(v: ContractsVisitor, mpropdef: MPropDef): Bool
	do
		return v.toolcontext.opt_full_contract.value
	end
src/contracts.nit:274,2--279,4

nitc :: contracts $ MExpect :: is_called
	redef fun is_called(v: ContractsVisitor, mpropdef: MPropDef): Bool
	do
		var main_package = v.mainmodule.mpackage
		var actual_package = mpropdef.mclassdef.mmodule.mpackage
		if main_package != null and actual_package != null then
			var condition_direct_arc = v.toolcontext.modelbuilder.model.mpackage_importation_graph.has_arc(main_package, actual_package)
			return super or main_package == actual_package or condition_direct_arc
		end
		return false
	end
src/contracts.nit:374,2--383,4

nitc :: contracts $ BottomMContract :: is_called
	redef fun is_called(v: ContractsVisitor, mpropdef: MPropDef): Bool
	do
		return super or v.mainmodule.mpackage == mpropdef.mclassdef.mmodule.mpackage
	end
src/contracts.nit:450,2--453,4