Nitlanguage.org
  • Nitdoc
  • nitc
  • metrics
  • codesmells_metrics
  • NoAbstractImplementation
  • defaultinit

init defaultinit(phase: CodeSmellsMetricsPhase, model: Model, filter: ModelFilter)

nitc :: NoAbstractImplementation :: defaultinit

  • Doc
  • Linearization

Summary

  • Property definitions

  • nitc$NoAbstractImplementation$defaultinit

Property definitions

nitc $ NoAbstractImplementation :: defaultinit
class NoAbstractImplementation
	super BadConception
	var bad_methods = new Array[MMethodDef]

	redef fun name do return "LONGMETH"

	redef fun desc do return "No Implemented abstract property"

	redef fun collect(mclassdef, model_builder): Bool do
		if not mclassdef.mclass.is_abstract and not mclassdef.mclass.is_interface then
			if mclassdef.collect_abstract_methods(filter).not_empty then
				bad_methods.add_all(mclassdef.collect_not_define_properties(filter))
			end
		end
		self.score_rate
		return bad_methods.not_empty
	end

	redef fun print_result do
		print phase.toolcontext.format_h2("{desc}:")
		if self.bad_methods.not_empty then
			print "	Affected method(s):"
			for method in self.bad_methods do
				print "		-{method.name}"
			end
		end
	end

	redef fun score_rate do
		if self.bad_methods.not_empty then
			self.score = self.bad_methods.length.to_f / phase.average_number_of_method
		end
	end
end
src/metrics/codesmells_metrics.nit:341,1--374,3
Nit tools. Version .