Introduced properties

private var _model: Model

nitc :: BadConceptionFinder :: _model

private var _score: Float

nitc :: BadConceptionFinder :: _score

fun collect

nitc :: BadConceptionFinder :: collect

Collect code smell with selected toolcontext option
protected fun filter=(filter: ModelFilter)

nitc :: BadConceptionFinder :: filter=

protected fun mclassdef=(mclassdef: MClassDef)

nitc :: BadConceptionFinder :: mclassdef=

protected fun model=(model: Model)

nitc :: BadConceptionFinder :: model=

protected fun score=(score: Float)

nitc :: BadConceptionFinder :: score=

Redefined properties

redef type SELF: BadConceptionFinder

nitc $ BadConceptionFinder :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
private var _model: Model

nitc :: BadConceptionFinder :: _model

private var _score: Float

nitc :: BadConceptionFinder :: _score

protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun collect

nitc :: BadConceptionFinder :: collect

Collect code smell with selected toolcontext option
protected fun filter=(filter: ModelFilter)

nitc :: BadConceptionFinder :: filter=

fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
protected fun mclassdef=(mclassdef: MClassDef)

nitc :: BadConceptionFinder :: mclassdef=

protected fun model=(model: Model)

nitc :: BadConceptionFinder :: model=

private intern fun native_class_name: CString

core :: Object :: native_class_name

The class name of the object in CString format.
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
protected fun score=(score: Float)

nitc :: BadConceptionFinder :: score=

fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram nitc::BadConceptionFinder BadConceptionFinder core::Object Object nitc::BadConceptionFinder->core::Object

Parents

interface Object

core :: Object

The root of the class hierarchy.

Class definitions

nitc $ BadConceptionFinder
class BadConceptionFinder
	var mclassdef: MClassDef
	var array_badconception = new Array[BadConception]
	var phase: CodeSmellsMetricsPhase
	var model: Model
	var filter: ModelFilter
	var score = 0.0

	# Collect code smell with selected toolcontext option
	fun collect do
		var bad_conception_elements = new Array[BadConception]
		# Check toolcontext option
		if phase.toolcontext.opt_feature_envy.value or phase.toolcontext.opt_all.value then bad_conception_elements.add(new FeatureEnvy(phase, model, filter))
		if phase.toolcontext.opt_long_method.value or phase.toolcontext.opt_all.value then bad_conception_elements.add(new LongMethod(phase, model, filter))
		if phase.toolcontext.opt_long_params.value or phase.toolcontext.opt_all.value then bad_conception_elements.add(new LongParameterList(phase, model, filter))
		if phase.toolcontext.opt_no_abstract_implementation.value or phase.toolcontext.opt_all.value then bad_conception_elements.add(new NoAbstractImplementation(phase, model, filter))
		if phase.toolcontext.opt_large_class.value or phase.toolcontext.opt_all.value then bad_conception_elements.add(new LargeClass(phase, model, filter))
		# Collected all code smell if their state is true
		for bad_conception_element in bad_conception_elements do
			if bad_conception_element.collect(self.mclassdef,phase.toolcontext.modelbuilder) then array_badconception.add(bad_conception_element)
		end
		# Compute global score
		collect_global_score
	end

	fun print_collected_data do
		if array_badconception.length != 0 then
			print "--------------------"
			print phase.toolcontext.format_h1("Full name: {mclassdef.full_name} Location: {mclassdef.location}")
			for bad_conception in array_badconception do
				bad_conception.print_result
			end
		end
	end

	fun collect_global_score do
		if array_badconception.not_empty then
			for bad_conception in array_badconception do
				self.score += bad_conception.score
			end
		end
	end
end
src/metrics/codesmells_metrics.nit:118,1--160,3