All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.puresoltechnologies.purifinity.evaluation.api.LanguageDependedMcCabeMetric Maven / Gradle / Ivy

package com.puresoltechnologies.purifinity.evaluation.api;

import java.io.Serializable;

import com.puresoltechnologies.parsers.ust.AbstractProduction;

/**
 * This interface is used to implement a part of the McCabe metric (cyclomatic
 * complexity) implementation within language packages. This implementation is
 * used to distinguish between node which increase the cyclomatic complexity and
 * those who don't.
 * 
 * @author Rick-Rainer Ludwig
 * 
 */
public interface LanguageDependedMcCabeMetric extends Serializable {

    /**
     * This method is implemented in language packs for determining whether the
     * cyclomatic complexity is to be increased or not.
     * 
     * @param production
     *            is a {@link AbstractProduction} of the language to be checked.
     * @return An integer is returned about how much the complexity is to be
     *         increased. 0 is to be returned in case no complexity is to be
     *         changed.
     */
    public int increasesCyclomaticComplexityBy(AbstractProduction production);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy