Phan\CodeBase::hasFunctionWithFQSEN PHP Method

hasFunctionWithFQSEN() public method

public hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName
return boolean True if an element with the given FQSEN exists
    public function hasFunctionWithFQSEN(FullyQualifiedFunctionName $fqsen) : bool
    {
        $has_function = $this->fqsen_func_map->contains($fqsen);
        if ($has_function) {
            return $has_function;
        }
        // Check to see if this is an internal function that hasn't
        // been loaded yet.
        return $this->hasInternalFunctionWithFQSEN($fqsen);
    }

Usage Example

Example #1
0
 /**
  * Check to see if the given Clazz is a duplicate
  *
  * @return null
  */
 public static function analyzeDuplicateFunction(CodeBase $code_base, FunctionInterface $method)
 {
     $fqsen = $method->getFQSEN();
     if (!$fqsen->isAlternate()) {
         return;
     }
     $original_fqsen = $fqsen->getCanonicalFQSEN();
     if ($original_fqsen instanceof FullyQualifiedFunctionName) {
         if (!$code_base->hasFunctionWithFQSEN($original_fqsen)) {
             return;
         }
         $original_method = $code_base->getFunctionByFQSEN($original_fqsen);
     } else {
         if (!$code_base->hasMethodWithFQSEN($original_fqsen)) {
             return;
         }
         $original_method = $code_base->getMethodByFQSEN($original_fqsen);
     }
     $method_name = $method->getName();
     if (!$method->hasSuppressIssue(Issue::RedefineFunction)) {
         if ($original_method->isInternal()) {
             Issue::maybeEmit($code_base, $method->getContext(), Issue::RedefineFunctionInternal, $method->getFileRef()->getLineNumberStart(), $method_name, $method->getFileRef()->getFile(), $method->getFileRef()->getLineNumberStart());
         } else {
             Issue::maybeEmit($code_base, $method->getContext(), Issue::RedefineFunction, $method->getFileRef()->getLineNumberStart(), $method_name, $method->getFileRef()->getFile(), $method->getFileRef()->getLineNumberStart(), $original_method->getFileRef()->getFile(), $original_method->getFileRef()->getLineNumberStart());
         }
     }
 }
All Usage Examples Of Phan\CodeBase::hasFunctionWithFQSEN