Property definitions

nitc :: abstract_compiler $ APropdef :: can_inline
	fun can_inline: Bool do return true
src/compiler/abstract_compiler.nit:2621,2--36

nitc :: abstract_compiler $ AAttrPropdef :: can_inline
	redef fun can_inline: Bool do return not is_lazy
src/compiler/abstract_compiler.nit:3563,2--49

nitc :: abstract_compiler $ AMethPropdef :: can_inline
	redef fun can_inline
	do
		if self.auto_super_inits != null then return false
		var nblock = self.n_block
		if nblock == null then return true
		if (mpropdef.mproperty.name == "==" or mpropdef.mproperty.name == "!=") and mpropdef.mclassdef.mclass.name == "Object" then return true
		if nblock isa ABlockExpr and nblock.n_expr.length == 0 then return true
		return false
	end
src/compiler/abstract_compiler.nit:2675,2--2683,4

nitc :: separate_compiler $ AMethPropdef :: can_inline
	# The semi-global compilation does not support inlining calls to extern news
	redef fun can_inline
	do
		var m = mpropdef
		if m != null and m.mproperty.is_init and m.is_extern then return false
		return super
	end
src/compiler/separate_compiler.nit:2657,2--2663,4