Phan\CodeBase::getFunctionByFQSEN PHP Method

getFunctionByFQSEN() public method

public getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName The FQSEN of a function to get
return Phan\Language\Element\Func A function with the given FQSEN
    public function getFunctionByFQSEN(FullyQualifiedFunctionName $fqsen) : Func
    {
        if (empty($this->fqsen_func_map[$fqsen])) {
            print "Not found {$fqsen}\n";
        }
        return $this->fqsen_func_map[$fqsen];
    }

Usage Example

Ejemplo n.º 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::getFunctionByFQSEN