Phan\Analysis\ReferenceCountsAnalyzer::analyzeReferenceCounts PHP Method

analyzeReferenceCounts() public static method

Take a look at all globally accessible elements and see if we can find any dead code that is never referenced
public static analyzeReferenceCounts ( CodeBase $code_base ) : void
$code_base Phan\CodeBase
return void
    public static function analyzeReferenceCounts(CodeBase $code_base)
    {
        // Check to see if dead code detection is enabled. Keep
        // in mind that the results here are just a guess and
        // we can't tell with certainty that anything is
        // definitely unreferenced.
        if (!Config::get()->dead_code_detection) {
            return;
        }
        // Get the count of all known elements
        $total_count = $code_base->totalElementCount();
        $i = 0;
        // Functions
        self::analyzeElementListReferenceCounts($code_base, $code_base->getFunctionMap(), Issue::UnreferencedMethod, $total_count, $i);
        // Constants
        self::analyzeElementListReferenceCounts($code_base, $code_base->getGlobalConstantMap(), Issue::UnreferencedConstant, $total_count, $i);
        // Classes
        self::analyzeElementListReferenceCounts($code_base, $code_base->getClassMap(), Issue::UnreferencedClass, $total_count, $i);
        // Class Maps
        foreach ($code_base->getClassMapMap() as $class_map) {
            self::analyzeClassMapReferenceCounts($code_base, $class_map, $total_count, $i);
        }
    }

Usage Example

Beispiel #1
0
 /**
  * Take a look at all globally accessible elements and see if
  * we can find any dead code that is never referenced
  *
  * @return void
  */
 public static function analyzeDeadCode(CodeBase $code_base)
 {
     // Check to see if dead code detection is enabled. Keep
     // in mind that the results here are just a guess and
     // we can't tell with certainty that anything is
     // definitely unreferenced.
     if (!Config::get()->dead_code_detection) {
         return;
     }
     ReferenceCountsAnalyzer::analyzeReferenceCounts($code_base);
 }