Google\Cloud\Dev\DocGenerator\Parser\CodeParser::buildParams PHP Method

buildParams() private method

private buildParams ( $params )
    private function buildParams($params)
    {
        if (count($params) === 0) {
            return $params;
        }
        $paramsArray = [];
        foreach ($params as $param) {
            $description = $param->getDescription();
            $descriptionString = $this->buildDescription($param->getDocBlock(), $description);
            $nestedParamsArray = [];
            if (strpos($param->getType(), 'array') === 0 && $this->hasNestedParams($description)) {
                $nestedParamString = trim(str_replace('[optional]', '', $description));
                $nestedParamString = substr($nestedParamString, 1, -1);
                $nestedParams = explode('@type', $nestedParamString);
                $nestedParamString = trim(array_shift($nestedParams));
                $nestedParamsArray = $this->buildNestedParams($nestedParams, $param);
                $descriptionString = $this->buildDescription($param->getDocBlock(), $nestedParamString);
            }
            $varName = substr($param->getVariableName(), 1);
            if (!$varName) {
                throw new \Exception('invalid or missing parameter name in "' . $param->getDocBlock()->getShortDescription() . '"');
            }
            $paramsArray[] = ['name' => $varName, 'description' => $descriptionString, 'types' => $this->handleTypes($param->getTypes()), 'optional' => strpos(trim(strtolower($description)), '[optional]') === 0, 'nullable' => null];
            $paramsArray = array_merge($paramsArray, $nestedParamsArray);
        }
        return $paramsArray;
    }