Phan\CodeBase::totalElementCount PHP Method

totalElementCount() public method

public totalElementCount ( ) : integer
return integer The total number of elements of all types in the code base.
    public function totalElementCount() : int
    {
        $sum = count($this->getFunctionMap()) + count($this->getGlobalConstantMap()) + count($this->getClassMap());
        foreach ($this->getClassMapMap() as $class_map) {
            $sum += count($class_map->getClassConstantMap()) + count($class_map->getPropertyMap()) + count($class_map->getMethodMap());
        }
        return $sum;
    }

Usage Example

Example #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 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);
     }
 }