/** * 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); } } }