src/PhpToZephir/TypeFinder.php
private function parseParam(ClassMethod $node, ClassMetadata $classMetadata, array $definition)
    {
        if (isset($definition['params']) === false) {
            $definition['params'] = array();
        }

        foreach ($node->params as $param) {
            $params = array();
            $params['name'] = $this->replaceReservedWords($param->name);
            $params['default'] = $param->default;
            $params['type'] = null;

          /* @var $param \PhpParser\Node\Param */
          if ($param->type === 'array') {
              $params['type']['value'] = 'array';
              $params['type']['isClass'] = false;
          } elseif ($param->type === null) { // scalar or not strong typed in method
             $docBlock = $this->nodeToDocBlock($node);
              if ($docBlock !== null) {
                  $params['type'] = $this->foundTypeInCommentForVar($docBlock, $param, $classMetadata);
              }
          } elseif ($param->type instanceof \PhpParser\Node\Name) {
              $className = implode('\\', $param->type->parts);
              $params['type']['value'] = $className;
              $params['type']['isClass'] = true;
          }

            $definition['params'][] = $params;
        }

        return $definition;
    }
private function parseParam(ClassMethod $node, ClassMetadata $classMetadata, array $definition)
    {
        if (isset($definition['params']) === false) {
            $definition['params'] = array();
        }

        foreach ($node->params as $param) {
            $params = array();
            $params['name'] = $this->replaceReservedWords($param->name);
            $params['default'] = $param->default;
            $params['type'] = null;

          /* @var $param \PhpParser\Node\Param */
          if ($param->type === 'array') {
              $params['type']['value'] = 'array';
              $params['type']['isClass'] = false;
          } elseif ($param->type === null) { // scalar or not strong typed in method
             $docBlock = $this->nodeToDocBlock($node);
              if ($docBlock !== null) {
                  $params['type'] = $this->foundTypeInCommentForVar($docBlock, $param, $classMetadata);
              }
          } elseif ($param->type instanceof \PhpParser\Node\Name) {
              $className = implode('\\', $param->type->parts);
              $params['type']['value'] = $className;
              $params['type']['isClass'] = true;
          }

            $definition['params'][] = $params;
        }

        return $definition;
    }
@param ClassMethod $node
@param string      $actualNamespace
@param array       $use
@param array       $classes
@param array       $definition

@return array