当前位置: 首页>>代码示例>>PHP>>正文


PHP UnionType::internalFunctionSignatureMap方法代码示例

本文整理汇总了PHP中Phan\Language\UnionType::internalFunctionSignatureMap方法的典型用法代码示例。如果您正苦于以下问题:PHP UnionType::internalFunctionSignatureMap方法的具体用法?PHP UnionType::internalFunctionSignatureMap怎么用?PHP UnionType::internalFunctionSignatureMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Phan\Language\UnionType的用法示例。


在下文中一共展示了UnionType::internalFunctionSignatureMap方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addUndefinedFunctionSignatures

 /**
  * Add any functions from the FunctionSignatureMap that aren't
  * defined in this version of PHP to the code base
  *
  * @return void
  */
 private function addUndefinedFunctionSignatures()
 {
     $function_signature_map = UnionType::internalFunctionSignatureMap();
     foreach ($function_signature_map as $function_name => $signature) {
         $fqsen = FullyQualifiedFunctionName::make('\\', $function_name);
         // If we already loaded the function, skip it
         if ($this->hasMethod($fqsen)) {
             continue;
         }
         // Add each method returned for the signature
         foreach (Method::methodListFromSignature($this, $fqsen, $signature) as $method) {
             $this->addMethod($method);
         }
     }
 }
开发者ID:tmli3b3rm4n,项目名称:phan,代码行数:21,代码来源:CodeBase.php

示例2: hasMethodWithScopeAndName

 /**
  * @param string $scope
  * The scope of the method or function
  *
  * @param string $name
  * The name of the method (with an optional alternate id)
  *
  * @return bool
  */
 private function hasMethodWithScopeAndName(string $scope, string $name)
 {
     if (!empty($this->method_map[$scope][$name])) {
         return true;
     }
     // For elements in the root namespace, check to see if
     // there's a static method signature for something that
     // hasn't been loaded into memory yet and create a
     // method out of it as its requested
     if ('\\' == $scope) {
         $function_signature_map = UnionType::internalFunctionSignatureMap();
         $fqsen = FullyQualifiedFunctionName::make($scope, $name);
         if (!empty($function_signature_map[$name])) {
             $signature = $function_signature_map[$name];
             // Add each method returned for the signature
             foreach (FunctionFactory::functionListFromSignature($this, $fqsen, $signature) as $method) {
                 $this->addMethod($method);
             }
             return true;
         }
     }
     if (Database::isEnabled()) {
         // Otherwise, check the database
         try {
             MethodModel::read(Database::get(), $scope . '|' . $name);
             return true;
         } catch (NotFoundException $exception) {
             return false;
         }
     } else {
         return false;
     }
 }
开发者ID:black-silence,项目名称:phan,代码行数:42,代码来源:MethodMap.php

示例3: hasInternalFunctionWithFQSEN

 /**
  * @param FullyQualifiedFunctionName
  * The FQSEN of a function we'd like to look up
  *
  * @return bool
  * If the FQSEN represents an internal function that
  * hasn't been loaded yet, true is returned.
  */
 private function hasInternalFunctionWithFQSEN(FullyQualifiedFunctionName $fqsen) : bool
 {
     // Only root namespaced functions will be found in
     // the internal function map.
     if ($fqsen->getNamespace() != '\\') {
         return false;
     }
     // For elements in the root namespace, check to see if
     // there's a static method signature for something that
     // hasn't been loaded into memory yet and create a
     // method out of it as its requested
     $function_signature_map = UnionType::internalFunctionSignatureMap();
     if (!empty($function_signature_map[$fqsen->getNameWithAlternateId()])) {
         $signature = $function_signature_map[$fqsen->getNameWithAlternateId()];
         // Add each method returned for the signature
         foreach (FunctionFactory::functionListFromSignature($this, $fqsen, $signature) as $i => $function) {
             $this->addFunction($function);
         }
         return true;
     }
     return false;
 }
开发者ID:etsy,项目名称:phan,代码行数:30,代码来源:CodeBase.php


注:本文中的Phan\Language\UnionType::internalFunctionSignatureMap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。