2023-01-14 19:18:23 +01:00
<?xml version="1.0" encoding="UTF-8"?>
2023-12-14 15:44:09 +01:00
<files psalm-version= "dev-master@a75d26a3d425d183da8bef37cfc14976c8d817d6" >
2023-08-05 21:32:33 +02:00
<file src= "src/API.php" >
<ArgumentTypeCoercion >
<code > $settings</code>
</ArgumentTypeCoercion>
<DirectConstructorCall >
<code > <![CDATA[$this->__construct($this->session->getSessionDirectoryPath())]]> </code>
</DirectConstructorCall>
<PossiblyNullArgument >
<code > Logger::$default</code>
</PossiblyNullArgument>
<PossiblyNullReference >
<code > getMessage</code>
<code > wakeup</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
<code > API</code>
2023-11-09 21:27:12 +01:00
<code > API</code>
2023-08-05 21:32:33 +02:00
</PropertyNotSetInConstructor>
</file>
<file src= "src/APIWrapper.php" >
<PossiblyNullReference >
<code > logger</code>
</PossiblyNullReference>
</file>
<file src= "src/AbstractAPI.php" >
<ArgumentTypeCoercion >
<code > $eventHandler</code>
</ArgumentTypeCoercion>
<PossiblyNullReference >
<code > getMessage</code>
<code > isInited</code>
<code > setEventHandler</code>
</PossiblyNullReference>
</file>
<file src= "src/ApiWrappers/Start.php" >
<MissingReturnType >
<code > APIStart</code>
</MissingReturnType>
<RiskyCast >
<code > <![CDATA[$_POST['api_id']]]> </code>
</RiskyCast>
</file>
<file src= "src/AsyncTools.php" >
<RedundantConditionGivenDocblockType >
<code > \is_callable($callable)</code>
</RedundantConditionGivenDocblockType>
</file>
<file src= "src/Broadcast/Action/ActionSend.php" >
<PossiblyUndefinedVariable >
<code > $id</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Broadcast/Broadcast.php" >
<DocblockTypeContradiction >
<code > <![CDATA[$this->broadcasts[$id]]]> </code>
<code > <![CDATA[$this->broadcasts[$id]]]> </code>
</DocblockTypeContradiction>
<RedundantConditionGivenDocblockType >
<code > <![CDATA[$this->broadcasts[$id]?->cancel()]]> </code>
<code > <![CDATA[$this->broadcasts[$id]?->getProgress()]]> </code>
</RedundantConditionGivenDocblockType>
</file>
<file src= "src/Broadcast/InternalState.php" >
<RedundantCondition >
<code > <![CDATA[\is_array($this->filter->whitelist) && !\in_array($peer, $this->filter->whitelist, true)]]> </code>
</RedundantCondition>
</file>
<file src= "src/Connection.php" >
2023-09-05 15:12:46 +02:00
<DocblockTypeContradiction >
<code > <![CDATA[$this->stream]]> </code>
</DocblockTypeContradiction>
2023-09-05 18:10:12 +02:00
<InvalidPropertyAssignmentValue >
<code > <![CDATA[$ctx->getStream()]]> </code>
</InvalidPropertyAssignmentValue>
2023-08-05 21:32:33 +02:00
<MissingConstructor >
<code > $API</code>
<code > $datacenter</code>
<code > $shared</code>
</MissingConstructor>
<PossiblyNullReference >
2023-09-05 15:12:46 +02:00
<code > getInputClientProxy</code>
<code > isHttp</code>
2023-12-15 14:06:16 +01:00
<code > refreshNextDisable</code>
<code > refreshNextEnable</code>
2023-08-05 21:32:33 +02:00
</PossiblyNullReference>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$res['chat_id']]]> </code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/ContextConnector.php" >
<PossiblyInvalidArgument >
<code > $uri</code>
</PossiblyInvalidArgument>
</file>
2023-01-27 14:20:47 +01:00
<file src= "src/Conversion.php" >
2023-08-05 21:32:33 +02:00
<DocblockTypeContradiction >
<code > <![CDATA[\strlen($settings['old_session_passcode'])]]> </code>
<code > <![CDATA[\strlen($settings['old_session_passcode'])]]> </code>
</DocblockTypeContradiction>
<MissingParamType >
<code > $auth_key</code>
<code > $data</code>
<code > $data</code>
<code > $fileName</code>
<code > $fileName</code>
<code > $fp</code>
<code > $options</code>
<code > $options</code>
<code > $settings</code>
</MissingParamType>
<MissingPropertyType >
<code > $tdesktop_base_path</code>
<code > $tdesktop_key</code>
<code > $tdesktop_user_base_path</code>
</MissingPropertyType>
<MissingReturnType >
<code > tdesktop</code>
<code > tdesktop_decrypt</code>
<code > tdesktop_fopen</code>
<code > tdesktop_fopen_encrypted</code>
<code > tdesktop_md5</code>
<code > tdesktop_read_bytearray</code>
</MissingReturnType>
2023-10-04 21:57:17 +02:00
<PossiblyNullReference >
<code > methodCallAsyncRead</code>
</PossiblyNullReference>
2023-08-05 21:32:33 +02:00
<PossiblyUndefinedArrayOffset >
<code > $part_one_md5</code>
<code > $part_one_md5</code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $dc</code>
<code > $main_dc_id</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/DataCenter.php" >
2023-09-23 20:59:20 +02:00
<DocblockTypeContradiction >
<code > \is_string($dc)</code>
</DocblockTypeContradiction>
2023-08-05 21:32:33 +02:00
<PossiblyUndefinedArrayOffset >
<code > $default[2]</code>
<code > $default[2]</code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/DataCenterConnection.php" >
<MissingConstructor >
<code > $API</code>
<code > $connectionsPromise</code>
<code > $datacenter</code>
</MissingConstructor>
<PossiblyNullReference >
<code > bind</code>
</PossiblyNullReference>
<RedundantConditionGivenDocblockType >
<code > <![CDATA[$authorized_socket-> hasTempAuthKey()
& & $authorized_socket->hasPermAuthKey()
& & $authorized_socket->isAuthorized()
& & $this->API->authorized === \danog\MadelineProto\API::LOGGED_IN]]></code>
</RedundantConditionGivenDocblockType>
2023-09-28 15:55:32 +02:00
<UnsupportedPropertyReferenceUsage >
<code > <![CDATA[$this->permAuthKey =& $connection->permAuthKey]]> </code>
</UnsupportedPropertyReferenceUsage>
2023-08-05 21:32:33 +02:00
</file>
2023-08-13 15:47:21 +02:00
<file src= "src/Db/CacheContainer.php" >
<ParadoxicalCondition >
<code > <![CDATA[isset($this->ttl[$index])]]> </code>
</ParadoxicalCondition>
<PropertyNotSetInConstructor >
<code > $cacheTtl</code>
</PropertyNotSetInConstructor>
2023-08-05 21:32:33 +02:00
</file>
2023-08-13 17:23:33 +02:00
<file src= "src/Db/CachedArray.php" >
<LessSpecificImplementedReturnType >
<code > Traversable</code>
<code > Traversable</code>
</LessSpecificImplementedReturnType>
</file>
2023-08-13 16:57:42 +02:00
<file src= "src/Db/DbArrayTrait.php" >
<InvalidArgument >
<code > $index</code>
<code > $index</code>
<code > $index</code>
<code > $index</code>
</InvalidArgument>
</file>
<file src= "src/Db/DbType.php" >
<ImplementedParamTypeMismatch >
<code > $index</code>
</ImplementedParamTypeMismatch>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/Db/Driver/Mysql.php" >
<PossiblyNullArrayAccess >
<code > <![CDATA[$connection->query("SHOW VARIABLES LIKE 'max_connections'")->fetchRow()['Value']]]> </code>
</PossiblyNullArrayAccess>
</file>
2023-01-27 14:20:47 +01:00
<file src= "src/Db/DriverArray.php" >
2023-08-05 21:32:33 +02:00
<ArgumentTypeCoercion >
<code > $settings</code>
<code > $settings</code>
<code > $settings</code>
</ArgumentTypeCoercion>
2023-08-13 17:23:33 +02:00
<MethodSignatureMismatch >
<code > DriverArray</code>
</MethodSignatureMismatch>
2023-08-05 21:32:33 +02:00
<MissingClosureParamType >
<code > $v</code>
<code > $value</code>
<code > $value</code>
</MissingClosureParamType>
<MissingClosureReturnType >
2023-11-11 17:02:38 +01:00
<code > <![CDATA[static fn ($v) => $v]]> </code>
<code > <![CDATA[static fn ($value) => json_decode($value, true, 256, JSON_THROW_ON_ERROR)]]> </code>
2023-08-05 21:32:33 +02:00
</MissingClosureReturnType>
<MissingConstructor >
<code > $dbSettings</code>
<code > $dbSettings</code>
<code > $dbSettings</code>
<code > $dbSettings</code>
<code > $deserializer</code>
<code > $deserializer</code>
<code > $deserializer</code>
<code > $deserializer</code>
<code > $serializer</code>
<code > $serializer</code>
<code > $serializer</code>
<code > $serializer</code>
<code > $table</code>
<code > $table</code>
<code > $table</code>
<code > $table</code>
</MissingConstructor>
2023-08-13 15:47:21 +02:00
<RawObjectIteration >
2023-08-05 21:32:33 +02:00
<code > $old</code>
2023-08-13 15:47:21 +02:00
</RawObjectIteration>
2023-08-05 21:32:33 +02:00
<UndefinedMethod >
<code > setSettings</code>
2023-01-14 19:18:23 +01:00
</UndefinedMethod>
2023-08-05 21:32:33 +02:00
<UnsafeInstantiation >
<code > new static()</code>
</UnsafeInstantiation>
2023-01-14 19:18:23 +01:00
</file>
2023-01-27 14:20:47 +01:00
<file src= "src/Db/MemoryArray.php" >
2023-08-05 21:32:33 +02:00
<MethodSignatureMismatch >
2023-01-14 19:18:23 +01:00
<code > MemoryArray</code>
<code > MemoryArray</code>
</MethodSignatureMismatch>
2023-08-05 21:32:33 +02:00
<MissingParamType >
<code > $array</code>
<code > $flags</code>
</MissingParamType>
<MoreSpecificImplementedParamType >
<code > $settings</code>
</MoreSpecificImplementedParamType>
</file>
<file src= "src/Db/MysqlArray.php" >
<ArgumentTypeCoercion >
<code > <![CDATA[$this->dbSettings]]> </code>
</ArgumentTypeCoercion>
<InvalidDocblockParamName >
<code > $stmt</code>
</InvalidDocblockParamName>
<MissingConstructor >
<code > $pdo</code>
</MissingConstructor>
2023-12-21 19:32:29 +01:00
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->db->query("SELECT data_free FROM information_schema.tables WHERE table_schema=`{$database}` AND table_name=`{$this->table}`")->fetchRow()['data_free']]]> </code>
</PossiblyNullArrayAccess>
<UndefinedMethod >
<code > getOptimizeIfWastedGtMb</code>
<code > getOptimizeIfWastedGtMb</code>
</UndefinedMethod>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Db/PostgresArray.php" >
<MissingClosureParamType >
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $value</code>
</MissingClosureParamType>
<MissingClosureReturnType >
2023-11-11 17:02:38 +01:00
<code > <![CDATA[static fn ($v) => igbinary_unserialize(hex2bin($v))]]> </code>
<code > <![CDATA[static fn ($v) => unserialize(hex2bin($v))]]> </code>
<code > <![CDATA[static fn ($value) => json_decode(hex2bin($value), true, 256, JSON_THROW_ON_ERROR)]]> </code>
2023-08-05 21:32:33 +02:00
</MissingClosureReturnType>
</file>
<file src= "src/Db/PostgresArrayBytea.php" >
<ArgumentTypeCoercion >
<code > <![CDATA[$this->dbSettings]]> </code>
</ArgumentTypeCoercion>
<MissingClosureParamType >
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $v</code>
<code > $value</code>
</MissingClosureParamType>
<MissingClosureReturnType >
2023-11-11 17:02:38 +01:00
<code > <![CDATA[static fn ($v) => $v]]> </code>
<code > <![CDATA[static fn ($value) => json_decode($value, true, 256, JSON_THROW_ON_ERROR)]]> </code>
2023-08-05 21:32:33 +02:00
</MissingClosureReturnType>
</file>
<file src= "src/Db/RedisArray.php" >
<ArgumentTypeCoercion >
<code > <![CDATA[$this->dbSettings]]> </code>
</ArgumentTypeCoercion>
<MissingConstructor >
<code > $db</code>
</MissingConstructor>
<PossiblyNullArgument >
<code > <![CDATA[$this->db->get($key)]]> </code>
<code > $value</code>
</PossiblyNullArgument>
</file>
<file src= "src/Db/SqlArray.php" >
<InvalidDocblockParamName >
<code > $stmt</code>
</InvalidDocblockParamName>
<MissingConstructor >
<code > $db</code>
<code > $db</code>
<code > $db</code>
</MissingConstructor>
<PossiblyNullArrayAccess >
<code > <![CDATA[$row->fetchRow()['count']]]> </code>
</PossiblyNullArrayAccess>
</file>
<file src= "src/DoHConnector.php" >
<PossiblyInvalidArgument >
<code > $builtUri</code>
<code > $uri</code>
</PossiblyInvalidArgument>
</file>
<file src= "src/DoHWrapper.php" >
2023-09-05 18:10:12 +02:00
<PropertyNotSetInConstructor >
<code > $webSocketConnector</code>
</PropertyNotSetInConstructor>
2023-08-05 21:32:33 +02:00
<RedundantCondition >
<code > $orig[1][0] === BufferedRawStream::class</code>
</RedundantCondition>
2023-09-05 18:10:12 +02:00
<UndefinedClass >
<code > Rfc6455Connector</code>
</UndefinedClass>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/EventHandler.php" >
<ArgumentTypeCoercion >
<code > $class</code>
</ArgumentTypeCoercion>
<PossiblyInvalidArgument >
<code > <![CDATA[$this->wrapper->getAPI()]]> </code>
</PossiblyInvalidArgument>
<PossiblyNullArgument >
<code > <![CDATA[$methodRefl->getParameters()[0]->getType()]]> </code>
</PossiblyNullArgument>
2023-09-19 21:20:41 +02:00
<PossiblyNullReference >
<code > getDbPrefix</code>
2023-12-14 18:07:30 +01:00
<code > rethrowInner</code>
<code > rethrowInner</code>
2023-09-19 21:20:41 +02:00
</PossiblyNullReference>
2023-08-05 21:32:33 +02:00
<PropertyTypeCoercion >
<code > self::$pluginCache</code>
</PropertyTypeCoercion>
<RedundantFunctionCall >
2023-10-01 20:13:58 +02:00
<code > array_values</code>
2023-08-05 21:32:33 +02:00
</RedundantFunctionCall>
2023-09-05 15:12:46 +02:00
<TypeDoesNotContainType >
<code > <![CDATA[$this->startedInternal]]> </code>
<code > <![CDATA[$this->startedInternal]]> </code>
</TypeDoesNotContainType>
2023-08-05 21:32:33 +02:00
<UnresolvableInclude >
<code > require $file</code>
</UnresolvableInclude>
<UnsafeInstantiation >
<code > new $class</code>
</UnsafeInstantiation>
</file>
<file src= "src/EventHandler/AbstractMessage.php" >
<InvalidReturnStatement >
<code > <![CDATA[$this->replyCache]]> </code>
<code > <![CDATA[$this->replyCache]]> </code>
</InvalidReturnStatement>
2023-09-05 21:48:41 +02:00
<LessSpecificReturnStatement >
2023-09-06 17:55:31 +02:00
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
2023-10-01 20:13:58 +02:00
<code > < ![CDATA[array_map(
2023-09-05 22:01:55 +02:00
fn (array $arr): AbstractStory =>
2023-09-05 21:48:41 +02:00
$arr['_'] === 'storyItemDeleted'
2023-09-28 18:11:48 +02:00
? new StoryDeleted($client, ['peer' => $this->senderId, 'story' => $arr])
: new Story($client, ['peer' => $this->senderId, 'story' => $arr]),
2023-09-05 21:48:41 +02:00
$result
)]]></code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
2023-09-06 17:55:31 +02:00
<code > DialogSetTTL</code>
<code > DialogSetTTL</code>
2023-09-05 21:48:41 +02:00
<code > <![CDATA[list<AbstractStory>]]> </code>
</MoreSpecificReturnType>
2023-09-06 17:55:31 +02:00
<NullableReturnStatement >
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
</NullableReturnStatement>
2023-08-05 21:32:33 +02:00
</file>
2023-09-28 21:05:33 +02:00
<file src= "src/EventHandler/AbstractPrivateMessage.php" >
<PropertyNotSetInConstructor >
<code > AbstractPrivateMessage</code>
<code > AbstractPrivateMessage</code>
</PropertyNotSetInConstructor>
</file>
2023-09-28 18:11:48 +02:00
<file src= "src/EventHandler/AbstractStory.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawStory['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/BotApp.php" >
<PropertyTypeCoercion >
<code > <![CDATA[isset($rawBotApp['document']) ? $API->wrapMedia($rawBotApp['document']) : null]]> </code>
<code > <![CDATA[isset($rawBotApp['photo']) ? $API->wrapMedia($rawBotApp['photo']) : null]]> </code>
</PropertyTypeCoercion>
2023-09-06 19:33:52 +02:00
</file>
2023-11-11 16:47:17 +01:00
<file src= "src/EventHandler/BotCommands.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawBotCommands['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
<PropertyTypeCoercion >
<code > < ![CDATA[array_map(
2023-11-11 17:02:38 +01:00
static fn (array $command): Command => new Command($command),
2023-11-11 16:47:17 +01:00
$rawBotCommands['commands']
)]]></code>
</PropertyTypeCoercion>
</file>
<file src= "src/EventHandler/Channel/MessageViewsChanged.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawMessageViews)]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/Channel/UpdateChannel.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawUpdateChannel)]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/ChatInviteRequester.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawChatInviteRequester['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/Delete/DeleteChannelMessages.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawDelete)]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/Delete/DeleteScheduledMessages.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawDelete['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
2023-08-31 18:02:11 +02:00
<file src= "src/EventHandler/Filter/AbstractFilterFromSender.php" >
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > $peerResolved</code>
</PropertyNotSetInConstructor>
</file>
2023-08-31 18:02:11 +02:00
<file src= "src/EventHandler/Filter/AbstractFilterFromSenders.php" >
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > $peersResolved</code>
</PropertyNotSetInConstructor>
</file>
2023-08-31 18:02:11 +02:00
<file src= "src/EventHandler/Filter/FilterFromAdmin.php" >
<MissingConstructor >
<code > $adminIds</code>
</MissingConstructor>
</file>
2023-09-01 16:10:17 +02:00
<file src= "src/EventHandler/Filter/FilterFromBot.php" >
<InaccessibleProperty >
<code > <![CDATA[$this->API]]> </code>
</InaccessibleProperty>
<MissingConstructor >
<code > $API</code>
</MissingConstructor>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/EventHandler/Filter/FilterPeer.php" >
<PropertyNotSetInConstructor >
<code > $peerResolved</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Filter/FilterRegex.php" >
<PropertyTypeCoercion >
<code > $matches</code>
<code > $matches</code>
2023-08-31 18:02:11 +02:00
<code > $matches</code>
2023-09-28 18:11:48 +02:00
<code > $matches</code>
2023-08-05 21:32:33 +02:00
</PropertyTypeCoercion>
</file>
<file src= "src/EventHandler/Media.php" >
2023-09-28 21:05:33 +02:00
<LessSpecificReturnStatement >
<code > $result</code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > array{
* ext: string,
* name: string,
* mime: string,
* size: int,
* InputFileLocation: array,
* key_fingerprint?: string,
* key?: string,
* iv?: string,
* }</code>
</MoreSpecificReturnType>
2023-08-05 21:32:33 +02:00
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->botApiFileId]]> </code>
<code > <![CDATA[$this->botApiFileUniqueId]]> </code>
</PossiblyNullArrayAccess>
<PropertyNotSetInConstructor >
<code > $thumbs</code>
<code > $videoThumbs</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/AbstractAudio.php" >
<PropertyNotSetInConstructor >
<code > AbstractAudio</code>
<code > AbstractAudio</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/AbstractSticker.php" >
<PropertyNotSetInConstructor >
<code > AbstractSticker</code>
<code > AbstractSticker</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/AbstractVideo.php" >
<PropertyNotSetInConstructor >
<code > AbstractVideo</code>
<code > AbstractVideo</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/AnimatedSticker.php" >
<PropertyNotSetInConstructor >
<code > AnimatedSticker</code>
<code > AnimatedSticker</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Audio.php" >
<PropertyNotSetInConstructor >
<code > Audio</code>
<code > Audio</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/CustomEmoji.php" >
<PropertyNotSetInConstructor >
<code > CustomEmoji</code>
<code > CustomEmoji</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Document.php" >
<PropertyNotSetInConstructor >
<code > Document</code>
<code > Document</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/DocumentPhoto.php" >
<PropertyNotSetInConstructor >
<code > DocumentPhoto</code>
<code > DocumentPhoto</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Gif.php" >
<PropertyNotSetInConstructor >
<code > Gif</code>
<code > Gif</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/MaskSticker.php" >
<PropertyNotSetInConstructor >
<code > MaskSticker</code>
<code > MaskSticker</code>
</PropertyNotSetInConstructor>
</file>
2023-09-28 18:11:48 +02:00
<file src= "src/EventHandler/Media/MediaStory.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawMedia['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/EventHandler/Media/Photo.php" >
<PropertyNotSetInConstructor >
<code > Photo</code>
<code > Photo</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/RoundVideo.php" >
<PropertyNotSetInConstructor >
<code > RoundVideo</code>
<code > RoundVideo</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/StaticSticker.php" >
<PropertyNotSetInConstructor >
<code > StaticSticker</code>
<code > StaticSticker</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Sticker.php" >
<PropertyNotSetInConstructor >
<code > Sticker</code>
<code > Sticker</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Video.php" >
<PropertyNotSetInConstructor >
<code > Video</code>
<code > Video</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/VideoSticker.php" >
<PropertyNotSetInConstructor >
<code > VideoSticker</code>
<code > VideoSticker</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Media/Voice.php" >
<PropertyNotSetInConstructor >
<code > Voice</code>
<code > Voice</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Message.php" >
<LessSpecificReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > Message</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</NullableReturnStatement>
<PropertyNotSetInConstructor >
<code > $html</code>
<code > $htmlTelegram</code>
</PropertyNotSetInConstructor>
<PropertyTypeCoercion >
<code > < ![CDATA[isset($rawMessage['media'])
? $API->wrapMedia($rawMessage['media'], $this->protected)
: null]]></code>
<code > < ![CDATA[isset($rawMessage['reply_markup'])
? Keyboard::fromRawReplyMarkup($rawMessage['reply_markup'])
: null]]></code>
</PropertyTypeCoercion>
</file>
<file src= "src/EventHandler/Message/ChannelMessage.php" >
<PropertyNotSetInConstructor >
<code > ChannelMessage</code>
<code > ChannelMessage</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Message/GroupMessage.php" >
2023-09-05 21:48:41 +02:00
<LessSpecificReturnStatement >
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > DialogTopicCreated</code>
<code > DialogTopicEdited</code>
<code > DialogTopicEdited</code>
<code > DialogTopicEdited</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
</NullableReturnStatement>
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > GroupMessage</code>
<code > GroupMessage</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/EventHandler/Message/PrivateMessage.php" >
2023-08-31 18:02:11 +02:00
<LessSpecificReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > DialogScreenshotTaken</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</NullableReturnStatement>
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > PrivateMessage</code>
<code > PrivateMessage</code>
</PropertyNotSetInConstructor>
</file>
2023-09-28 21:05:33 +02:00
<file src= "src/EventHandler/Message/SecretMessage.php" >
<InvalidReturnStatement >
<code > <![CDATA[$this->replyCache]]> </code>
<code > <![CDATA[$this->replyCache]]> </code>
</InvalidReturnStatement>
<LessSpecificReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > DialogScreenshotTaken</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$this->getClient()->wrapMessage($this->getClient()->extractMessage($result))]]> </code>
</NullableReturnStatement>
<PropertyNotSetInConstructor >
<code > SecretMessage</code>
<code > SecretMessage</code>
</PropertyNotSetInConstructor>
</file>
2023-11-11 16:47:17 +01:00
<file src= "src/EventHandler/Pinned.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawPinned)]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
2023-09-06 19:33:52 +02:00
<file src= "src/EventHandler/Privacy.php" >
<PropertyTypeCoercion >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[array_map(RuleDestination::fromRawRule(...), $rawPrivacy['rules'])]]> </code>
2023-09-06 19:33:52 +02:00
</PropertyTypeCoercion>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/EventHandler/Query/ChatTrait.php" >
<MoreSpecificReturnType >
<code > Message</code>
</MoreSpecificReturnType>
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawCallback['peer'])]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
2023-09-05 21:48:41 +02:00
<file src= "src/EventHandler/Story/Story.php" >
<InaccessibleProperty >
<code > <![CDATA[$last->nextSent]]> </code>
</InaccessibleProperty>
<LessSpecificReturnStatement >
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
2023-09-06 17:55:31 +02:00
<code > <![CDATA[$client->wrapUpdate($update)]]> </code>
<code > <![CDATA[$client->wrapUpdate($update)]]> </code>
2023-09-05 21:48:41 +02:00
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > StoryReaction</code>
<code > StoryReaction</code>
</MoreSpecificReturnType>
<NullableReturnStatement >
<code > <![CDATA[$client->wrapMessage($client->extractMessage($result))]]> </code>
2023-09-06 17:55:31 +02:00
<code > <![CDATA[$client->wrapUpdate($update)]]> </code>
<code > <![CDATA[$client->wrapUpdate($update)]]> </code>
2023-09-05 21:48:41 +02:00
</NullableReturnStatement>
<PossiblyUndefinedVariable >
<code > $first</code>
</PossiblyUndefinedVariable>
<PropertyNotSetInConstructor >
<code > $html</code>
<code > $htmlTelegram</code>
</PropertyNotSetInConstructor>
<PropertyTypeCoercion >
<code > <![CDATA[$API->wrapMedia($rawStory['media'], $this->protected)]]> </code>
2023-10-01 20:13:58 +02:00
<code > <![CDATA[array_map(RuleDestination::fromRawRule(...), $rawStory['privacy'] ?? [])]]> </code>
2023-09-05 21:48:41 +02:00
</PropertyTypeCoercion>
</file>
2023-09-28 18:11:48 +02:00
<file src= "src/EventHandler/Story/StoryReaction.php" >
<PossiblyNullPropertyAssignmentValue >
2023-11-11 16:47:17 +01:00
<code > <![CDATA[$API->getIdInternal($rawStory)]]> </code>
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/Typing/SupergroupUserTyping.php" >
<PossiblyNullPropertyAssignmentValue >
<code > <![CDATA[$API->getIdInternal($rawTyping)]]> </code>
2023-09-28 18:11:48 +02:00
</PossiblyNullPropertyAssignmentValue>
</file>
2023-09-05 21:48:41 +02:00
<file src= "src/EventHandler/User/Blocked.php" >
<PossiblyNullPropertyAssignmentValue >
2023-11-11 16:47:17 +01:00
<code > <![CDATA[$API->getIdInternal($rawPeerBlocked)]]> </code>
2023-09-05 21:48:41 +02:00
</PossiblyNullPropertyAssignmentValue>
</file>
<file src= "src/EventHandler/User/Username.php" >
<PropertyTypeCoercion >
2023-10-01 20:13:58 +02:00
<code > < ![CDATA[array_map(
2023-11-11 17:02:38 +01:00
static fn (array $username) => new UsernameInfo($username),
2023-09-05 21:48:41 +02:00
$rawUserName['usernames']
)]]></code>
</PropertyTypeCoercion>
</file>
2023-09-28 18:11:48 +02:00
<file src= "src/EventHandler/Wallpaper.php" >
<PropertyTypeCoercion >
<code > <![CDATA[$API->wrapMedia($rawWallpaper['document'])]]> </code>
</PropertyTypeCoercion>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/Exception.php" >
<MissingParamType >
<code > $code</code>
<code > $errfile</code>
<code > $errline</code>
<code > $errno</code>
<code > $errstr</code>
<code > $file</code>
<code > $line</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/FileCallbackInterface.php" >
<MissingReturnType >
<code > __invoke</code>
</MissingReturnType>
</file>
<file src= "src/GarbageCollector.php" >
<PropertyTypeCoercion >
<code > self::$map</code>
<code > self::$map ??= new WeakMap</code>
2023-09-03 19:05:00 +02:00
<code > self::$map ??= new WeakMap</code>
2023-08-05 21:32:33 +02:00
</PropertyTypeCoercion>
</file>
<file src= "src/InternalDoc.php" >
<InvalidReturnStatement >
<code > <![CDATA[$this->wrapper->getAPI()->getEventHandler($class)]]> </code>
</InvalidReturnStatement>
<InvalidReturnType >
<code > T|EventHandlerProxy|__PHP_Incomplete_Class|null</code>
</InvalidReturnType>
<MissingParamType >
<code > $data</code>
</MissingParamType>
<PossiblyInvalidPropertyAssignmentValue >
<code > <![CDATA[$this->account ??= new \danog\MadelineProto\Namespace\AbstractAPI('account')]]> </code>
<code > <![CDATA[$this->auth ??= new \danog\MadelineProto\Namespace\AbstractAPI('auth')]]> </code>
<code > <![CDATA[$this->bots ??= new \danog\MadelineProto\Namespace\AbstractAPI('bots')]]> </code>
<code > <![CDATA[$this->channels ??= new \danog\MadelineProto\Namespace\AbstractAPI('channels')]]> </code>
<code > <![CDATA[$this->chatlists ??= new \danog\MadelineProto\Namespace\AbstractAPI('chatlists')]]> </code>
<code > <![CDATA[$this->contacts ??= new \danog\MadelineProto\Namespace\AbstractAPI('contacts')]]> </code>
<code > <![CDATA[$this->folders ??= new \danog\MadelineProto\Namespace\AbstractAPI('folders')]]> </code>
<code > <![CDATA[$this->help ??= new \danog\MadelineProto\Namespace\AbstractAPI('help')]]> </code>
<code > <![CDATA[$this->langpack ??= new \danog\MadelineProto\Namespace\AbstractAPI('langpack')]]> </code>
<code > <![CDATA[$this->messages ??= new \danog\MadelineProto\Namespace\AbstractAPI('messages')]]> </code>
<code > <![CDATA[$this->payments ??= new \danog\MadelineProto\Namespace\AbstractAPI('payments')]]> </code>
<code > <![CDATA[$this->phone ??= new \danog\MadelineProto\Namespace\AbstractAPI('phone')]]> </code>
<code > <![CDATA[$this->photos ??= new \danog\MadelineProto\Namespace\AbstractAPI('photos')]]> </code>
2023-11-09 21:27:12 +01:00
<code > <![CDATA[$this->premium ??= new \danog\MadelineProto\Namespace\AbstractAPI('premium')]]> </code>
2023-08-05 21:32:33 +02:00
<code > <![CDATA[$this->stats ??= new \danog\MadelineProto\Namespace\AbstractAPI('stats')]]> </code>
<code > <![CDATA[$this->stickers ??= new \danog\MadelineProto\Namespace\AbstractAPI('stickers')]]> </code>
<code > <![CDATA[$this->stories ??= new \danog\MadelineProto\Namespace\AbstractAPI('stories')]]> </code>
<code > <![CDATA[$this->updates ??= new \danog\MadelineProto\Namespace\AbstractAPI('updates')]]> </code>
<code > <![CDATA[$this->upload ??= new \danog\MadelineProto\Namespace\AbstractAPI('upload')]]> </code>
<code > <![CDATA[$this->users ??= new \danog\MadelineProto\Namespace\AbstractAPI('users')]]> </code>
</PossiblyInvalidPropertyAssignmentValue>
<PossiblyUndefinedMethod >
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
<code > setWrapper</code>
2023-11-09 21:27:12 +01:00
<code > setWrapper</code>
2023-08-05 21:32:33 +02:00
</PossiblyUndefinedMethod>
</file>
<file src= "src/Ipc/Client.php" >
<ArgumentTypeCoercion >
<code > $class</code>
</ArgumentTypeCoercion>
<MissingReturnType >
<code > downloadToCallable</code>
<code > downloadToDir</code>
<code > downloadToFile</code>
<code > methodCallAsyncRead</code>
<code > uploadFromCallable</code>
<code > uploadFromTgfile</code>
<code > uploadFromUrl</code>
</MissingReturnType>
</file>
<file src= "src/Ipc/ClientAbstract.php" >
<ArgumentTypeCoercion >
<code > <![CDATA[$payload->getException()]]> </code>
</ArgumentTypeCoercion>
2023-08-20 17:44:04 +02:00
<InvalidThrow >
<code > <![CDATA[throw $result->getException();]]> </code>
</InvalidThrow>
2023-08-05 21:32:33 +02:00
<PossiblyNullReference >
<code > logger</code>
</PossiblyNullReference>
<PossiblyUndefinedArrayOffset >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['file']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyUndefinedArrayOffset>
<PropertyNotSetInConstructor >
<code > $logger</code>
<code > $server</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/Ipc/IpcState.php" >
<LessSpecificReturnStatement >
<code > <![CDATA[$this->exception ? $this->exception->getException() : null]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > ?Throwable</code>
</MoreSpecificReturnType>
</file>
<file src= "src/Ipc/Runner/WebRunner.php" >
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$_SERVER['REQUEST_URI']]]> </code>
<code > <![CDATA[$_SERVER['SERVER_NAME']]]> </code>
<code > <![CDATA[$_SERVER['SERVER_NAME']]]> </code>
<code > <![CDATA[$_SERVER['SERVER_PORT']]]> </code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $address</code>
</PossiblyUndefinedVariable>
<RedundantCastGivenDocblockType >
<code > (int) $port</code>
</RedundantCastGivenDocblockType>
</file>
<file src= "src/Ipc/Runner/entry.php" >
<PossiblyInvalidArgument >
<code > <![CDATA[$_GET['cwd']]]> </code>
<code > $arguments</code>
<code > $arguments</code>
<code > $arguments</code>
</PossiblyInvalidArgument>
<PossiblyInvalidPropertyAssignmentValue >
<code > <![CDATA[$_GET['cwd'] ?? Magic::getcwd()]]> </code>
</PossiblyInvalidPropertyAssignmentValue>
<UnresolvableInclude >
<code > include $autoloadPath</code>
</UnresolvableInclude>
</file>
<file src= "src/Ipc/Server.php" >
<PropertyNotSetInConstructor >
<code > $callback</code>
<code > $server</code>
</PropertyNotSetInConstructor>
<TypeDoesNotContainType >
<code > $payload === self::SHUTDOWN</code>
<code > $payload === self::SHUTDOWN</code>
</TypeDoesNotContainType>
</file>
<file src= "src/Ipc/ServerCallback.php" >
<MissingReturnType >
<code > unwrap</code>
</MissingReturnType>
<PropertyNotSetInConstructor >
<code > ServerCallback</code>
<code > ServerCallback</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/Ipc/Wrapper.php" >
<MissingClosureParamType >
<code > $args</code>
</MissingClosureParamType>
<MissingClosureReturnType >
<code > <![CDATA[fn (...$args) => $this->__call($id, $args)]]> </code>
</MissingClosureReturnType>
<MissingParamType >
<code > $data</code>
</MissingParamType>
<MissingReturnType >
<code > copy</code>
<code > unwrap</code>
</MissingReturnType>
2023-09-07 18:55:37 +02:00
<PossiblyUndefinedArrayOffset >
<code > $payload[0]</code>
<code > $payload[0]</code>
</PossiblyUndefinedArrayOffset>
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > $data</code>
<code > Wrapper</code>
<code > Wrapper</code>
</PropertyNotSetInConstructor>
<UnsafeInstantiation >
<code > new $class($this, $ids)</code>
</UnsafeInstantiation>
<UnsupportedReferenceUsage >
<code > <![CDATA[$this->callbackIds[] = &$callback]]> </code>
<code > <![CDATA[$this->callbackIds[] = &$callback]]> </code>
</UnsupportedReferenceUsage>
</file>
<file src= "src/Ipc/Wrapper/ReadableStream.php" >
<MissingTemplateParam >
<code > IteratorAggregate</code>
</MissingTemplateParam>
</file>
<file src= "src/LightState.php" >
<InvalidPropertyAssignmentValue >
<code > <![CDATA[$API->getEventHandler()::class]]> </code>
</InvalidPropertyAssignmentValue>
</file>
<file src= "src/Logger.php" >
<PossiblyInvalidArgument >
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > $optional</code>
<code > <![CDATA[$stdout->getResource()]]> </code>
<code > <![CDATA[$this-> mode === self::FILE_LOGGER
? $this->optional
: Magic::$script_cwd.DIRECTORY_SEPARATOR.'MadelineProto.log']]></code>
<code > <![CDATA[$this->optional]]> </code>
<code > <![CDATA[$this->optional]]> </code>
2023-08-29 16:23:26 +02:00
<code > <![CDATA[$this->optional]]> </code>
<code > <![CDATA[$this->stdoutUnbuffered->getResource()]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyInvalidArgument>
<PossiblyInvalidOperand >
<code > $optional</code>
</PossiblyInvalidOperand>
<PossiblyUndefinedArrayOffset >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['file']]]> </code>
<code > <![CDATA[debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['file']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyUndefinedArrayOffset>
<PropertyNotSetInConstructor >
<code > $colors</code>
<code > $stdout</code>
2023-08-29 16:23:26 +02:00
<code > $stdoutUnbuffered</code>
2023-08-05 21:32:33 +02:00
</PropertyNotSetInConstructor>
<UninitializedProperty >
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
<code > <![CDATA[$this->colors]]> </code>
2023-11-30 17:58:48 +01:00
<code > <![CDATA[$this->colors]]> </code>
2023-08-05 21:32:33 +02:00
</UninitializedProperty>
</file>
<file src= "src/Loop/Connection/CheckLoop.php" >
<PossiblyNullArgument >
<code > <![CDATA[$message->getMsgId()]]> </code>
</PossiblyNullArgument>
<PossiblyNullPropertyFetch >
<code > <![CDATA[$this->API->settings]]> </code>
</PossiblyNullPropertyFetch>
<PossiblyNullReference >
<code > getRpc</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > CheckLoop</code>
<code > CheckLoop</code>
<code > CheckLoop</code>
<code > CheckLoop</code>
<code > CheckLoop</code>
</PropertyNotSetInConstructor>
<UninitializedProperty >
<code > <![CDATA[$this->API]]> </code>
</UninitializedProperty>
</file>
<file src= "src/Loop/Connection/CleanupLoop.php" >
<PropertyNotSetInConstructor >
<code > CleanupLoop</code>
<code > CleanupLoop</code>
<code > CleanupLoop</code>
<code > CleanupLoop</code>
<code > CleanupLoop</code>
</PropertyNotSetInConstructor>
<RedundantCondition >
<code > <![CDATA[$this->connection->msgIdHandler?->cleanup()]]> </code>
</RedundantCondition>
<TypeDoesNotContainNull >
<code > <![CDATA[$this->connection->msgIdHandler]]> </code>
</TypeDoesNotContainNull>
</file>
<file src= "src/Loop/Connection/HttpWaitLoop.php" >
<PropertyNotSetInConstructor >
<code > HttpWaitLoop</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/Loop/Connection/PingLoop.php" >
<PossiblyNullReference >
<code > getSettings</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > PingLoop</code>
<code > PingLoop</code>
<code > PingLoop</code>
<code > PingLoop</code>
</PropertyNotSetInConstructor>
<UninitializedProperty >
<code > <![CDATA[$this->shared]]> </code>
</UninitializedProperty>
</file>
<file src= "src/Loop/Connection/ReadLoop.php" >
2023-09-05 18:10:12 +02:00
<DocblockTypeContradiction >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[str_starts_with($e->getReason(), ' ')]]> </code>
2023-09-05 18:10:12 +02:00
</DocblockTypeContradiction>
<InvalidThrow >
<code > throw $e;</code>
</InvalidThrow>
2023-08-05 21:32:33 +02:00
<PossiblyNullArgument >
<code > <![CDATA[$buffer->bufferRead($payload_length)]]> </code>
<code > <![CDATA[$buffer->bufferRead(4)]]> </code>
<code > <![CDATA[$buffer->bufferRead(4)]]> </code>
<code > <![CDATA[$buffer->bufferRead(8)]]> </code>
<code > $message_data</code>
<code > $message_data</code>
<code > $message_key</code>
</PossiblyNullArgument>
<PossiblyNullReference >
<code > getReadBuffer</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > ReadLoop</code>
</PropertyNotSetInConstructor>
2023-09-05 18:10:12 +02:00
<UndefinedClass >
<code > $e</code>
<code > $e</code>
<code > $e</code>
<code > ClosedException</code>
</UndefinedClass>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Loop/Connection/WriteLoop.php" >
<PossiblyNullArgument >
<code > <![CDATA[$MTmessage['body']]]> </code>
<code > <![CDATA[$message->getSerializedBody()]]> </code>
<code > <![CDATA[$message->getSerializedBody()]]> </code>
</PossiblyNullArgument>
<PossiblyNullReference >
<code > getWriteBuffer</code>
<code > getWriteBuffer</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > WriteLoop</code>
</PropertyNotSetInConstructor>
<TypeDoesNotContainType >
2023-09-05 15:12:46 +02:00
<code > <![CDATA[$this->connection->isHttp() && empty($this->connection->pendingOutgoing)]]> </code>
2023-08-05 21:32:33 +02:00
</TypeDoesNotContainType>
</file>
2023-11-11 17:39:40 +01:00
<file src= "src/Loop/Generic/PeriodicLoopInternal.php" >
<MissingClosureReturnType >
<code > <![CDATA[static fn () => $callable()]]> </code>
</MissingClosureReturnType>
</file>
2023-09-23 22:11:15 +02:00
<file src= "src/Loop/Secret/SecretFeedLoop.php" >
<TypeDoesNotContainType >
<code > <![CDATA[isset($this->API->logger)]]> </code>
</TypeDoesNotContainType>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/Loop/Update/FeedLoop.php" >
2023-12-17 18:29:03 +01:00
<MissingClosureParamType >
<code > $msg</code>
</MissingClosureParamType>
2023-08-05 21:32:33 +02:00
<MissingParamType >
<code > $messages</code>
</MissingParamType>
<MissingReturnType >
<code > feed</code>
<code > feedSingle</code>
</MissingReturnType>
<PossiblyInvalidArgument >
2023-12-17 18:29:03 +01:00
<code > <![CDATA[$update['message']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyInvalidArgument>
2023-12-17 18:29:03 +01:00
<PossiblyNullReference >
<code > checkPts</code>
<code > pts</code>
<code > resume</code>
2023-12-17 18:31:29 +01:00
<code > resume</code>
2023-12-17 18:29:03 +01:00
</PossiblyNullReference>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Loop/Update/SeqLoop.php" >
<PossiblyNullReference >
<code > checkSeq</code>
<code > feed</code>
</PossiblyNullReference>
</file>
<file src= "src/Loop/Update/UpdateLoop.php" >
<DocblockTypeContradiction >
<code > <![CDATA[$this->API->feeders[$channelId]]]> </code>
</DocblockTypeContradiction>
<PossiblyInvalidMethodCall >
<code > date</code>
<code > pts</code>
<code > pts</code>
<code > pts</code>
<code > pts</code>
<code > pts</code>
<code > qts</code>
<code > qts</code>
<code > qts</code>
<code > update</code>
<code > update</code>
<code > update</code>
<code > update</code>
<code > update</code>
<code > update</code>
<code > update</code>
</PossiblyInvalidMethodCall>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->API->authorization['user']]]> </code>
<code > <![CDATA[$this->API->authorization['user']['bot']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyUndefinedVariable >
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
<code > $difference</code>
2023-12-18 20:29:32 +01:00
<code > $difference</code>
<code > $difference</code>
2023-08-05 21:32:33 +02:00
</PossiblyUndefinedVariable>
<RedundantConditionGivenDocblockType >
<code > <![CDATA[$this->API->feeders[$channelId]?->resume()]]> </code>
</RedundantConditionGivenDocblockType>
</file>
<file src= "src/MTProto.php" >
<DocblockTypeContradiction >
<code > <![CDATA[\is_object($this->datacenter)]]> </code>
2023-08-14 17:16:59 +02:00
<code > <![CDATA[isset($this->TL)]]> </code>
2023-08-05 21:32:33 +02:00
<code > <![CDATA[isset($this->settings)]]> </code>
<code > <![CDATA[isset($this->settings)]]> </code>
2023-09-03 19:05:00 +02:00
<code > new DataCenter($this)</code>
2023-08-14 16:11:39 +02:00
<code > new PeerDatabase($this)</code>
2023-08-05 21:32:33 +02:00
</DocblockTypeContradiction>
<InvalidArgument >
<code > $callbacks</code>
<code > $callbacks</code>
</InvalidArgument>
<InvalidReturnStatement >
2023-10-01 20:13:58 +02:00
<code > < ![CDATA[array_merge(
array_fill_keys(
2023-08-05 21:32:33 +02:00
[
'InputUser',
'InputChannel',
],
$this->getInputConstructor(...),
),
2023-10-01 20:13:58 +02:00
array_fill_keys(
2023-08-05 21:32:33 +02:00
[
'InputMedia',
'InputDocument',
'InputPhoto',
],
$this->getFileInfo(...),
),
[
'InputFileLocation' => $this->getDownloadInfo(...),
'InputPeer' => $this->getInputPeer(...),
2023-12-17 18:29:03 +01:00
'InputDialogPeer' => fn (mixed $id): array => ['_' => 'inputDialogPeer', 'peer' => $this->getInputPeer($id)],
2023-11-23 14:52:18 +01:00
'InputCheckPasswordSRP' => fn (string $password): array => (new PasswordCalculator($this->methodCallAsyncRead('account.getPassword', [], $this->authorized_dc)))->getCheckPassword($password),
2023-08-05 21:32:33 +02:00
],
)]]></code>
</InvalidReturnStatement>
<InvalidReturnType >
<code > array</code>
</InvalidReturnType>
<MissingReturnType >
<code > serializeSession</code>
</MissingReturnType>
2023-08-06 22:00:31 +02:00
<NullableReturnStatement >
2023-08-05 21:32:33 +02:00
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
</NullableReturnStatement>
<PossibleRawObjectIteration >
<code > <![CDATA[$this->channels_state->get()]]> </code>
<code > <![CDATA[$this->channels_state->get()]]> </code>
<code > <![CDATA[$this->channels_state->get()]]> </code>
<code > <![CDATA[$this->channels_state->get()]]> </code>
</PossibleRawObjectIteration>
<PossiblyInvalidArgument >
<code > $path</code>
</PossiblyInvalidArgument>
<PossiblyInvalidArrayAccess >
<code > <![CDATA[$this->getSelf()['bot']]]> </code>
<code > <![CDATA[$this->getSelf()['premium']]]> </code>
</PossiblyInvalidArrayAccess>
2023-11-23 14:52:18 +01:00
<PossiblyNullArgument >
<code > <![CDATA[$this->authorized_dc]]> </code>
</PossiblyNullArgument>
2023-08-05 21:32:33 +02:00
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['hint']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyNullReference >
<code > logger</code>
<code > start</code>
2023-09-06 19:15:54 +02:00
<code > start</code>
2023-08-05 21:32:33 +02:00
</PossiblyNullReference>
2023-09-26 14:29:09 +02:00
<PossiblyUndefinedArrayOffset >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['file']]]> </code>
2023-09-26 14:29:09 +02:00
</PossiblyUndefinedArrayOffset>
2023-08-05 21:32:33 +02:00
<PropertyTypeCoercion >
<code > <![CDATA[$this->sanitizeReportPeers($userOrId)]]> </code>
</PropertyTypeCoercion>
<RedundantCondition >
<code > <![CDATA[isset($this->wrapper) && $this->isInited()]]> </code>
2023-08-12 21:47:09 +02:00
<code > <![CDATA[isset($this->wrapper) && isset(self::$references[$this->getSessionName()])]]> </code>
2023-08-05 21:32:33 +02:00
</RedundantCondition>
<RedundantConditionGivenDocblockType >
<code > <![CDATA[$this->authorized === API::LOGGED_IN && \is_int($dc_id)]]> </code>
<code > <![CDATA[$this->datacenter]]> </code>
2023-08-14 16:11:39 +02:00
<code > <![CDATA[$this->peerDatabase]]> </code>
2023-08-05 21:32:33 +02:00
<code > \is_int($dc_id)</code>
<code > <![CDATA[isset($this->datacenter)]]> </code>
</RedundantConditionGivenDocblockType>
2023-10-21 17:23:17 +02:00
<UndefinedFunction >
<code > memprof_dump_pprof($file)</code>
<code > memprof_enabled()</code>
</UndefinedFunction>
2023-08-14 16:11:39 +02:00
<UndefinedThisPropertyFetch >
<code > <![CDATA[$this->full_chats]]> </code>
</UndefinedThisPropertyFetch>
2023-08-05 21:32:33 +02:00
<UnsupportedReferenceUsage >
<code > <![CDATA[Lang::$current_lang =& Lang::$lang[$this->settings->getAppInfo()->getLangCode()]]]> </code>
</UnsupportedReferenceUsage>
</file>
<file src= "src/MTProto/MTProtoOutgoingMessage.php" >
<MissingReturnType >
<code > getBody</code>
</MissingReturnType>
<PossiblyInvalidPropertyAssignmentValue >
<code > <![CDATA[$this->state |= self::STATE_ACKED]]> </code>
<code > <![CDATA[$this->state |= self::STATE_REPLIED]]> </code>
<code > <![CDATA[$this->state |= self::STATE_SENT]]> </code>
</PossiblyInvalidPropertyAssignmentValue>
</file>
<file src= "src/MTProto/PermAuthKey.php" >
<PossiblyNullArgument >
<code > <![CDATA[$this->authKey]]> </code>
</PossiblyNullArgument>
</file>
<file src= "src/MTProto/TempAuthKey.php" >
<PossiblyNullArgument >
<code > <![CDATA[$this->authKey]]> </code>
</PossiblyNullArgument>
<PossiblyNullReference >
<code > authorized</code>
</PossiblyNullReference>
<UnsupportedReferenceUsage >
<code > <![CDATA[$this->{$key} =& $bound->{$key}]]> </code>
</UnsupportedReferenceUsage>
</file>
<file src= "src/MTProtoSession/AckHandler.php" >
<PossiblyNullArrayOffset >
<code > <![CDATA[$this->new_outgoing]]> </code>
</PossiblyNullArrayOffset>
</file>
<file src= "src/MTProtoSession/CallHandler.php" >
<MissingClosureReturnType >
2023-11-11 17:02:38 +01:00
<code > <![CDATA[static fn (WrappedFuture $f) => $f->await()]]> </code>
2023-08-05 21:32:33 +02:00
</MissingClosureReturnType>
2023-10-05 17:16:53 +02:00
<MissingConstructor >
<code > $abstractionQueueMutex</code>
</MissingConstructor>
2023-08-05 21:32:33 +02:00
<MissingReturnType >
<code > methodCallAsyncRead</code>
</MissingReturnType>
<PossiblyNullReference >
2023-10-05 17:16:53 +02:00
<code > release</code>
2023-08-05 21:32:33 +02:00
<code > resume</code>
</PossiblyNullReference>
</file>
<file src= "src/MTProtoSession/MsgIdHandler.php" >
<MissingReturnType >
<code > getMaxId</code>
</MissingReturnType>
</file>
<file src= "src/MTProtoSession/ResponseHandler.php" >
<PossiblyInvalidArgument >
2023-09-24 19:45:48 +02:00
<code > $response</code>
2023-10-01 20:13:58 +02:00
<code > time() + $seconds</code>
2023-08-05 21:32:33 +02:00
</PossiblyInvalidArgument>
<PossiblyNullArgument >
2023-09-28 18:00:44 +02:00
<code > $msgId</code>
2023-08-05 21:32:33 +02:00
<code > $msgId</code>
<code > $msgId</code>
2023-09-28 21:05:33 +02:00
<code > $msgId</code>
2023-12-14 17:08:19 +01:00
<code > <![CDATA[$request->getMsgId()]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyNullArgument>
<RedundantConditionGivenDocblockType >
<code > <![CDATA[$this->API->authorized_dc == $this->datacenter && $this->API->authorized === \danog\MadelineProto\API::LOGGED_IN]]> </code>
</RedundantConditionGivenDocblockType>
2023-08-06 22:00:31 +02:00
<RiskyCast >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[preg_replace('/[^0-9]+/', '', $response['error_message'])]]> </code>
2023-08-06 22:00:31 +02:00
</RiskyCast>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/MTProtoSession/Session.php" >
<MissingConstructor >
<code > $msgIdHandler</code>
2023-12-14 15:44:09 +01:00
<code > $new_incoming</code>
2023-08-05 21:32:33 +02:00
</MissingConstructor>
</file>
<file src= "src/MTProtoTools/CallHandler.php" >
<MissingReturnType >
<code > methodCallAsyncRead</code>
</MissingReturnType>
</file>
<file src= "src/MTProtoTools/CombinedUpdatesState.php" >
<PossiblyInvalidMethodCall >
<code > syncLoading</code>
</PossiblyInvalidMethodCall>
</file>
<file src= "src/MTProtoTools/FileServer.php" >
<PossiblyInvalidArgument >
<code > <![CDATA[$_GET['m']]]> </code>
<code > <![CDATA[$_GET['n']]]> </code>
</PossiblyInvalidArgument>
<PossiblyInvalidArrayAccess >
<code > <![CDATA[$API->getSelf()['id']]]> </code>
<code > <![CDATA[$this->getSelf()['id']]]> </code>
</PossiblyInvalidArrayAccess>
<PossiblyNullArgument >
<code > $media</code>
</PossiblyNullArgument>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->extractBotAPIFile($this->MTProtoToBotAPI($media))['file_id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$_SERVER['SERVER_NAME']]]> </code>
</PossiblyUndefinedArrayOffset>
<RiskyCast >
<code > <![CDATA[$_GET['s']]]> </code>
</RiskyCast>
</file>
<file src= "src/MTProtoTools/Files.php" >
<DocblockTypeContradiction >
<code > <![CDATA[$fingerprint !== $messageMedia['key_fingerprint']]]> </code>
</DocblockTypeContradiction>
2023-09-02 15:31:12 +02:00
<InvalidNullableReturnType >
<code > array</code>
</InvalidNullableReturnType>
2023-08-05 21:32:33 +02:00
<MissingParamType >
<code > $data</code>
<code > $media</code>
</MissingParamType>
<MissingReturnType >
<code > genAllFile</code>
</MissingReturnType>
<PossiblyInvalidArrayOffset >
<code > <![CDATA[$this->read[$offset]]]> </code>
<code > <![CDATA[$this->write[$offset]]]> </code>
<code > <![CDATA[$this->write[$offset]]]> </code>
</PossiblyInvalidArrayOffset>
<PossiblyNullArgument >
2023-11-23 14:52:18 +01:00
<code > $datacenter</code>
2023-08-05 21:32:33 +02:00
<code > $messageMedia</code>
</PossiblyNullArgument>
<PossiblyNullReference >
<code > decrypt</code>
<code > getReference</code>
<code > getReference</code>
<code > getReference</code>
<code > getReference</code>
<code > getReference</code>
<code > getReference</code>
<code > getReference</code>
</PossiblyNullReference>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$messageMedia['bytes']]]> </code>
<code > <![CDATA[$messageMedia['document']]]> </code>
<code > <![CDATA[$messageMedia['document']]]> </code>
<code > <![CDATA[$messageMedia['iv']]]> </code>
<code > <![CDATA[$messageMedia['key_fingerprint']]]> </code>
<code > <![CDATA[$messageMedia['photo']]]> </code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
<code > $res</code>
</PossiblyUndefinedVariable>
2023-09-23 22:11:15 +02:00
<RedundantCastGivenDocblockType >
<code > <![CDATA[(string) $messageMedia['iv']]]> </code>
<code > <![CDATA[(string) $messageMedia['key']]]> </code>
</RedundantCastGivenDocblockType>
2023-08-05 21:32:33 +02:00
<RedundantCondition >
<code > <![CDATA[$fingerprint !== $messageMedia['key_fingerprint']]]> </code>
</RedundantCondition>
2023-11-23 14:52:18 +01:00
<ReferenceConstraintViolation >
<code > $datacenter</code>
</ReferenceConstraintViolation>
2023-08-19 17:33:47 +02:00
<TooManyArguments >
<code > $cb(100, $speed, $time)</code>
</TooManyArguments>
2023-08-05 21:32:33 +02:00
<TypeDoesNotContainType >
<code > <![CDATA[$res['ext'] === '']]> </code>
<code > <![CDATA[$res['ext'] === '']]> </code>
</TypeDoesNotContainType>
</file>
<file src= "src/MTProtoTools/FilesAbstraction.php" >
<MoreSpecificReturnType >
<code > Message</code>
</MoreSpecificReturnType>
2023-09-30 20:19:03 +02:00
<PossiblyInvalidArgument >
<code > $file</code>
<code > $file</code>
<code > <![CDATA[$media['file']]]> </code>
<code > <![CDATA[$media['file']]]> </code>
</PossiblyInvalidArgument>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/MTProtoTools/FilesLogic.php" >
<MissingClosureReturnType >
<code > static function (string $payload, int $offset) use ($stream, $seekable, $lock) {</code>
</MissingClosureReturnType>
<PossiblyInvalidArgument >
<code > $file</code>
<code > $file</code>
</PossiblyInvalidArgument>
<PossiblyNullArgument >
<code > $body</code>
<code > $size</code>
</PossiblyNullArgument>
<PossiblyUndefinedMethod >
<code > seek</code>
<code > seek</code>
</PossiblyUndefinedMethod>
2023-09-07 18:55:37 +02:00
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/MTProtoTools/MinDatabase.php" >
<MissingReturnType >
<code > populateFrom</code>
</MissingReturnType>
<PossiblyNullArgument >
<code > $id</code>
</PossiblyNullArgument>
<PossiblyNullArrayOffset >
<code > $peers</code>
<code > $peers</code>
<code > $peers</code>
<code > $peers</code>
<code > <![CDATA[$this->db]]> </code>
</PossiblyNullArrayOffset>
<PropertyNotSetInConstructor >
<code > $db</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/MTProtoTools/PasswordCalculator.php" >
<PossiblyNullReference >
<code > powMod</code>
</PossiblyNullReference>
</file>
2023-08-14 16:11:39 +02:00
<file src= "src/MTProtoTools/PeerDatabase.php" >
<InvalidPropertyAssignmentValue >
<code > <![CDATA[$this->pendingDb]]> </code>
</InvalidPropertyAssignmentValue>
<PossiblyNullArgument >
<code > <![CDATA[$this->API->getIdInternal($full)]]> </code>
<code > <![CDATA[$this->API->getIdInternal($full)]]> </code>
<code > <![CDATA[$this->API->getIdInternal($id)]]> </code>
</PossiblyNullArgument>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->API->authorization['user']]]> </code>
<code > <![CDATA[$this->API->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyNullArrayOffset >
<code > <![CDATA[$this->fullDb]]> </code>
<code > <![CDATA[$this->fullDb]]> </code>
<code > <![CDATA[$this->pendingDb]]> </code>
</PossiblyNullArrayOffset>
<PropertyNotSetInConstructor >
<code > $db</code>
<code > $fullDb</code>
<code > $usernames</code>
</PropertyNotSetInConstructor>
<RedundantCastGivenDocblockType >
<code > (int) $id</code>
</RedundantCastGivenDocblockType>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/MTProtoTools/PeerHandler.php" >
<InvalidArrayOffset >
<code > <![CDATA[$this->getInfo($peer, \danog\MadelineProto\API::INFO_TYPE_CONSTRUCTOR)['forum']]]> </code>
</InvalidArrayOffset>
<MissingReturnType >
<code > fwdPeerIsset</code>
<code > getInputConstructor</code>
<code > getInputPeer</code>
</MissingReturnType>
<MoreSpecificReturnType >
<code > \danog\MadelineProto\API::PEER_TYPE_*</code>
</MoreSpecificReturnType>
<PossiblyInvalidArgument >
<code > $promises</code>
</PossiblyInvalidArgument>
<PossiblyNullArgument >
2023-08-14 16:11:39 +02:00
<code > $full</code>
2023-08-05 21:32:33 +02:00
<code > <![CDATA[$this->getIdInternal($id)]]> </code>
<code > <![CDATA[$this->getIdInternal($id)]]> </code>
2023-08-14 16:11:39 +02:00
<code > <![CDATA[$this->peerDatabase->getFull($partial['bot_api_id'])]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyNullArgument>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyNullArrayOffset >
<code > <![CDATA[$res['participants']]]> </code>
</PossiblyNullArrayOffset>
</file>
<file src= "src/MTProtoTools/ReferenceDatabase.php" >
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->API->authorization['user']]]> </code>
<code > <![CDATA[$this->API->authorization['user']]]> </code>
<code > <![CDATA[$this->API->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->API->authorization['user']['id']]]> </code>
2023-08-14 16:11:39 +02:00
<code > <![CDATA[$this->getDb($locationString)['origins']]]> </code>
<code > <![CDATA[$this->getDb($locationString)['reference']]]> </code>
<code > <![CDATA[$this->getDb($locationString)['reference']]]> </code>
<code > <![CDATA[$this->getDb($locationString)['reference']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyNullArrayAccess>
2023-08-14 16:11:39 +02:00
<PossiblyNullIterator >
<code > <![CDATA[$this->getDb($locationString)['origins']]]> </code>
</PossiblyNullIterator>
2023-08-05 21:32:33 +02:00
<PropertyNotSetInConstructor >
<code > $db</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/MTProtoTools/ResponseInfo.php" >
<PossiblyUndefinedArrayOffset >
<code > $extra_ranges</code>
<code > $range_orig</code>
<code > $seek_end</code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/MTProtoTools/UpdateHandler.php" >
<ArgumentTypeCoercion >
2023-09-28 18:11:48 +02:00
<code > <![CDATA[$this->wrapMedia($message['action']['photo'])]]> </code>
<code > <![CDATA[$this->wrapMedia($message['action']['photo'])]]> </code>
2023-08-05 21:32:33 +02:00
</ArgumentTypeCoercion>
<InaccessibleProperty >
<code > <![CDATA[$last->nextSent]]> </code>
</InaccessibleProperty>
2023-12-18 20:29:32 +01:00
<MissingParamType >
<code > $update</code>
</MissingParamType>
2023-08-05 21:32:33 +02:00
<MissingReturnType >
<code > getUpdatesState</code>
<code > loadUpdateState</code>
</MissingReturnType>
2023-08-31 18:02:11 +02:00
<PossiblyNullArgument >
<code > <![CDATA[$this->getIdInternal($message['action']['from_id'])]]> </code>
<code > <![CDATA[$this->getIdInternal($message['action']['peer'])]]> </code>
<code > <![CDATA[$this->getIdInternal($message['action']['to_id'])]]> </code>
</PossiblyNullArgument>
2023-08-05 21:32:33 +02:00
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyNullReference >
<code > addPendingWakeups</code>
<code > waitForInternalStart</code>
</PossiblyNullReference>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$updates['out']]]> </code>
<code > <![CDATA[$updates['out']]]> </code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $first</code>
</PossiblyUndefinedVariable>
2023-08-20 17:44:04 +02:00
<RedundantCondition >
<code > <![CDATA[\count($this->eventHandlerHandlers) !== 0 && \is_array($update)]]> </code>
<code > \is_array($update)</code>
</RedundantCondition>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Magic.php" >
<PossiblyUndefinedArrayOffset >
2023-10-01 20:13:58 +02:00
<code > <![CDATA[end($backtrace)['file']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/MyTelegramOrgWrapper.php" >
<MissingReturnType >
<code > completeLogin</code>
<code > createApp</code>
<code > getApp</code>
<code > hasApp</code>
</MissingReturnType>
<PossiblyNullArgument >
<code > <![CDATA[$this->settings]]> </code>
</PossiblyNullArgument>
<PossiblyUndefinedArrayOffset >
<code > $value</code>
</PossiblyUndefinedArrayOffset>
<UninitializedProperty >
<code > <![CDATA[$this->settings]]> </code>
</UninitializedProperty>
</file>
<file src= "src/Namespace/AbstractAPI.php" >
<PossiblyNullReference >
<code > methodCallAsyncRead</code>
</PossiblyNullReference>
<PropertyNotSetInConstructor >
<code > $wrapper</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/PTSException.php" >
<MissingParamType >
<code > $file</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/PsrLogger.php" >
<MissingParamType >
<code > $level</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/RPCError/FloodWaitError.php" >
<ArgumentTypeCoercion >
<code > $previous</code>
</ArgumentTypeCoercion>
<MissingParamType >
<code > $caller</code>
<code > $code</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/RPCErrorException.php" >
<MissingParamType >
<code > $caller</code>
<code > $method</code>
</MissingParamType>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$level['file']]]> </code>
<code > <![CDATA[$level['line']]]> </code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/RSA.php" >
<PropertyNotSetInConstructor >
<code > $e</code>
<code > $fp</code>
<code > $n</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/SecretChats/AuthKeyHandler.php" >
2023-09-28 21:05:33 +02:00
<MoreSpecificReturnType >
<code > SecretMessage</code>
</MoreSpecificReturnType>
2023-08-05 21:32:33 +02:00
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$user['user_id']]]> </code>
</PossiblyUndefinedArrayOffset>
</file>
2023-09-19 21:20:41 +02:00
<file src= "src/SecretChats/SecretChatController.php" >
2023-09-24 19:45:48 +02:00
<DocblockTypeContradiction >
<code > <![CDATA[$this->remoteLayer === 8]]> </code>
</DocblockTypeContradiction>
2023-09-19 21:20:41 +02:00
<PropertyNotSetInConstructor >
<code > $incoming</code>
<code > $outgoing</code>
2023-09-24 19:45:48 +02:00
<code > $randomIdMap</code>
2023-09-19 21:20:41 +02:00
</PropertyNotSetInConstructor>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Serialization.php" >
<NullableReturnStatement >
<code > $ipcSocket</code>
<code > $ipcSocket</code>
</NullableReturnStatement>
</file>
<file src= "src/SessionPaths.php" >
<LessSpecificReturnStatement >
<code > <![CDATA[$this->unserialize($this->ipcStatePath)]]> </code>
</LessSpecificReturnStatement>
<MoreSpecificReturnType >
<code > ?IpcState</code>
</MoreSpecificReturnType>
<PossiblyNullArgument >
<code > <![CDATA[$file->read(null, 1)]]> </code>
<code > <![CDATA[$file->read(null, 1)]]> </code>
<code > $php[0]</code>
<code > $php[1]</code>
</PossiblyNullArgument>
<PossiblyNullArrayAccess >
<code > $php[0]</code>
<code > $php[1]</code>
</PossiblyNullArrayAccess>
<PropertyTypeCoercion >
<code > <![CDATA[$this->lightState ??= $this->unserialize($this->lightStatePath)]]> </code>
</PropertyTypeCoercion>
</file>
<file src= "src/Settings/Logger.php" >
<PossiblyInvalidArgument >
<code > <![CDATA[$this->extra]]> </code>
</PossiblyInvalidArgument>
</file>
<file src= "src/StrTools.php" >
<ArgumentTypeCoercion >
<code > <![CDATA[$length<<1]]> </code>
</ArgumentTypeCoercion>
2023-08-31 18:02:11 +02:00
<InvalidArgument >
<code > $entities</code>
</InvalidArgument>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Stream/ADNLTransport/ADNLStream.php" >
<MissingPropertyType >
<code > $stream</code>
</MissingPropertyType>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Stream/Common/BufferedRawStream.php" >
<MissingPropertyType >
<code > $append</code>
<code > $append_after</code>
<code > $memory_stream</code>
<code > $stream</code>
</MissingPropertyType>
</file>
<file src= "src/Stream/Common/CtrStream.php" >
<MissingPropertyType >
<code > $append</code>
<code > $append_after</code>
<code > $decrypt</code>
<code > $encrypt</code>
<code > $extra</code>
<code > $read_buffer</code>
<code > $stream</code>
<code > $write_buffer</code>
</MissingPropertyType>
</file>
<file src= "src/Stream/Common/FileBufferedStream.php" >
<MissingConstructor >
<code > $append</code>
<code > $append_after</code>
</MissingConstructor>
<PossiblyNullReference >
<code > read</code>
<code > write</code>
</PossiblyNullReference>
</file>
<file src= "src/Stream/Common/HashedBufferedStream.php" >
<MissingPropertyType >
<code > $hash_name</code>
<code > $read_buffer</code>
<code > $read_check_after</code>
<code > $read_check_pos</code>
<code > $read_hash</code>
<code > $rev</code>
<code > $stream</code>
<code > $write_buffer</code>
<code > $write_check_after</code>
<code > $write_check_pos</code>
<code > $write_hash</code>
</MissingPropertyType>
2023-01-14 19:18:23 +01:00
</file>
2023-01-27 14:20:47 +01:00
<file src= "src/Stream/Common/UdpBufferedStream.php" >
2023-08-20 17:44:04 +02:00
<DocblockTypeContradiction >
<code > <![CDATA[\strlen($header) === '']]> </code>
</DocblockTypeContradiction>
2023-08-05 21:32:33 +02:00
<PossiblyNullReference >
<code > close</code>
</PossiblyNullReference>
</file>
<file src= "src/Stream/ConnectionContext.php" >
<LessSpecificReturnStatement >
<code > $obj</code>
</LessSpecificReturnStatement>
<MissingConstructor >
<code > $socketContext</code>
<code > $uri</code>
</MissingConstructor>
<MissingParamType >
<code > $extra</code>
</MissingParamType>
<MoreSpecificReturnType >
<code > StreamInterface</code>
</MoreSpecificReturnType>
</file>
<file src= "src/Stream/MTProtoTransport/AbridgedStream.php" >
<MissingPropertyType >
<code > $stream</code>
</MissingPropertyType>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Stream/MTProtoTransport/FullStream.php" >
<MissingPropertyType >
<code > $in_seq_no</code>
<code > $out_seq_no</code>
<code > $stream</code>
</MissingPropertyType>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Stream/MTProtoTransport/HttpStream.php" >
<MissingConstructor >
<code > $stream</code>
<code > $stream</code>
<code > $uri</code>
</MissingConstructor>
<MissingPropertyType >
<code > $code</code>
<code > $ctx</code>
<code > $header</code>
</MissingPropertyType>
<PossiblyUndefinedArrayOffset >
<code > $code</code>
<code > $current_header[1]</code>
<code > $description</code>
</PossiblyUndefinedArrayOffset>
<PropertyTypeCoercion >
<code > <![CDATA[$ctx->getStream($header)]]> </code>
</PropertyTypeCoercion>
</file>
<file src= "src/Stream/MTProtoTransport/IntermediatePaddedStream.php" >
<MissingPropertyType >
<code > $stream</code>
</MissingPropertyType>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Stream/MTProtoTransport/IntermediateStream.php" >
<MissingPropertyType >
<code > $stream</code>
</MissingPropertyType>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
</file>
<file src= "src/Stream/MTProtoTransport/ObfuscatedStream.php" >
<MissingPropertyType >
<code > $extra</code>
<code > $stream</code>
</MissingPropertyType>
</file>
<file src= "src/Stream/Proxy/HttpProxy.php" >
<MissingConstructor >
<code > $stream</code>
</MissingConstructor>
<MissingPropertyType >
<code > $extra</code>
</MissingPropertyType>
<PossiblyNullArgument >
<code > $read</code>
</PossiblyNullArgument>
<PossiblyUndefinedArrayOffset >
<code > $code</code>
<code > $current_header[1]</code>
<code > $description</code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $l</code>
</PossiblyUndefinedVariable>
<PropertyTypeCoercion >
<code > <![CDATA[$ctx->getStream()]]> </code>
</PropertyTypeCoercion>
</file>
<file src= "src/Stream/Proxy/SocksProxy.php" >
<MissingConstructor >
<code > $stream</code>
</MissingConstructor>
<MissingPropertyType >
<code > $extra</code>
</MissingPropertyType>
<PossiblyNullArgument >
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(1)]]> </code>
<code > <![CDATA[$buffer->bufferRead(16)]]> </code>
<code > <![CDATA[$buffer->bufferRead(2)]]> </code>
<code > <![CDATA[$buffer->bufferRead(4)]]> </code>
<code > $length</code>
</PossiblyNullArgument>
<PossiblyUndefinedVariable >
<code > $ip</code>
</PossiblyUndefinedVariable>
<PropertyTypeCoercion >
<code > <![CDATA[$ctx->getStream(\chr(5).\chr(\strlen($methods)).$methods)]]> </code>
</PropertyTypeCoercion>
</file>
<file src= "src/Stream/Transport/DefaultStream.php" >
<PossiblyNullReference >
<code > setupTls</code>
</PossiblyNullReference>
</file>
<file src= "src/Stream/Transport/PremadeStream.php" >
<MissingReturnType >
<code > getStream</code>
</MissingReturnType>
<PossiblyNullReference >
<code > write</code>
</PossiblyNullReference>
<UndefinedInterfaceMethod >
<code > write</code>
</UndefinedInterfaceMethod>
</file>
<file src= "src/Stream/Transport/WsStream.php" >
<MissingConstructor >
<code > $connector</code>
<code > $stream</code>
</MissingConstructor>
<PossiblyUndefinedVariable >
<code > $data</code>
</PossiblyUndefinedVariable>
2023-09-05 18:10:12 +02:00
<UndefinedClass >
<code > <![CDATA[$this->stream]]> </code>
<code > <![CDATA[$this->stream]]> </code>
<code > <![CDATA[$this->stream]]> </code>
<code > ?WebsocketMessage</code>
<code > ClosedException</code>
<code > Rfc6455ConnectionFactory</code>
<code > Rfc6455Connector</code>
<code > WebsocketConnection</code>
<code > WebsocketConnector</code>
<code > WebsocketConnector</code>
<code > WebsocketHandshake</code>
</UndefinedClass>
<UndefinedDocblockClass >
<code > WsStream</code>
</UndefinedDocblockClass>
</file>
2023-09-28 21:05:33 +02:00
<file src= "src/Stream/Transport/WssStream.php" >
<UndefinedDocblockClass >
<code > WssStream</code>
</UndefinedDocblockClass>
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/TL/Conversion/BotAPI.php" >
<MissingParamType >
<code > $markup</code>
</MissingParamType>
<MissingReturnType >
<code > parseReplyMarkup</code>
</MissingReturnType>
<MoreSpecificReturnType >
<code > <![CDATA[array<int|int, array{_: string, buttons: array<int|int, array{_: string, text: mixed, same_peer?: bool, query?: mixed, data?: mixed, url?: mixed}>}>]]> </code>
</MoreSpecificReturnType>
<PossiblyInvalidArgument >
<code > <![CDATA[$args['entities']]]> </code>
<code > <![CDATA[$args['entities']]]> </code>
2023-08-06 22:00:31 +02:00
<code > <![CDATA[$arguments['parse_mode']]]> </code>
<code > <![CDATA[$arguments['parse_mode']]]> </code>
2023-08-05 21:32:33 +02:00
</PossiblyInvalidArgument>
<PossiblyInvalidArrayOffset >
<code > <![CDATA[$multiple_args[$i]['entities'][]]]> </code>
<code > <![CDATA[$multiple_args[$i]['entities'][]]]> </code>
</PossiblyInvalidArrayOffset>
<PossiblyInvalidIterator >
<code > <![CDATA[$args['entities']]]> </code>
</PossiblyInvalidIterator>
<PossiblyUndefinedArrayOffset >
<code > $arguments[$key]</code>
<code > <![CDATA[$data['document']]]> </code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/TL/Conversion/BotAPIFiles.php" >
<MissingParamType >
<code > $photo</code>
<code > $photoSize</code>
<code > $thumbnail</code>
</MissingParamType>
</file>
<file src= "src/TL/Conversion/Exception.php" >
<MissingParamType >
<code > $file</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/TL/Conversion/MarkdownEntities.php" >
<DocblockTypeContradiction >
<code > $posClose === false</code>
<code > $posClose === false</code>
</DocblockTypeContradiction>
</file>
<file src= "src/TL/Conversion/TD.php" >
<PossiblyInvalidArgument >
<code > <![CDATA[$params['ID']]]> </code>
</PossiblyInvalidArgument>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$newparams['ttl']]]> </code>
<code > <![CDATA[$params['message']]]> </code>
<code > <![CDATA[$params['out']]]> </code>
<code > <![CDATA[$params['out']]]> </code>
<code > <![CDATA[$params['out']]]> </code>
</PossiblyUndefinedArrayOffset>
</file>
<file src= "src/TL/Exception.php" >
<MissingParamType >
<code > $file</code>
<code > $message</code>
</MissingParamType>
</file>
<file src= "src/TL/TL.php" >
<DocblockTypeContradiction >
<code > \is_resource($stream)</code>
<code > \is_resource($stream)</code>
</DocblockTypeContradiction>
<MissingClosureParamType >
<code > $arg</code>
</MissingClosureParamType>
<MissingReturnType >
<code > deserialize</code>
<code > serializeMethod</code>
<code > serializeObject</code>
<code > serializeParams</code>
</MissingReturnType>
2023-10-04 21:57:17 +02:00
<PossiblyFalseArgument >
<code > $value</code>
</PossiblyFalseArgument>
2023-08-05 21:32:33 +02:00
<PossiblyInvalidArgument >
2023-10-05 17:16:53 +02:00
<code > <![CDATA[$arguments['cancellation'] ?? null]]> </code>
<code > <![CDATA[$arguments['cancellation'] ?? null]]> </code>
2023-08-05 21:32:33 +02:00
<code > <![CDATA[$arguments['id']]]> </code>
<code > <![CDATA[$arguments['id']]]> </code>
2023-09-19 21:20:41 +02:00
<code > $value</code>
<code > $value</code>
2023-09-30 20:19:03 +02:00
<code > $value</code>
2023-08-05 21:32:33 +02:00
<code > <![CDATA[$x['result']]]> </code>
</PossiblyInvalidArgument>
<PossiblyInvalidIterator >
<code > <![CDATA[$x['value']]]> </code>
</PossiblyInvalidIterator>
<PossiblyNullArgument >
2023-09-19 21:20:41 +02:00
<code > $value</code>
2023-08-05 21:32:33 +02:00
</PossiblyNullArgument>
<PossiblyNullReference >
<code > botAPIToMTProto</code>
<code > logger</code>
</PossiblyNullReference>
<PossiblyUndefinedArrayOffset >
<code > $elem[1]</code>
<code > $elem[1]</code>
<code > $elem[1]</code>
<code > $elem[1]</code>
</PossiblyUndefinedArrayOffset>
<PropertyNotSetInConstructor >
<code > $afterConstructorDeserialization</code>
<code > $afterMethodResponseDeserialization</code>
<code > $beforeConstructorDeserialization</code>
<code > $beforeConstructorSerialization</code>
<code > $beforeMethodResponseDeserialization</code>
<code > $constructors</code>
<code > $methods</code>
<code > $tdDescriptions</code>
<code > $typeMismatch</code>
</PropertyNotSetInConstructor>
</file>
<file src= "src/TL/TLConstructors.php" >
<MissingReturnType >
<code > findByPredicate</code>
<code > findByType</code>
</MissingReturnType>
</file>
<file src= "src/TL/TLInterface.php" >
<MissingReturnType >
<code > deserialize</code>
<code > serializeMethod</code>
<code > serializeObject</code>
</MissingReturnType>
</file>
<file src= "src/TL/TLMethods.php" >
<MissingReturnType >
<code > findById</code>
<code > findByMethod</code>
</MissingReturnType>
</file>
<file src= "src/TL/Types/Button.php" >
<MissingReturnType >
<code > click</code>
</MissingReturnType>
<PossiblyNullArrayAccess >
<code > <![CDATA[$API->authorization['user']]]> </code>
<code > <![CDATA[$API->authorization['user']['id']]]> </code>
</PossiblyNullArrayAccess>
</file>
<file src= "src/Tools.php" >
<ArgumentTypeCoercion >
2023-11-11 17:02:38 +01:00
<code > <![CDATA[static fn (ClassLike $c): bool => $c->name !== null]]> </code>
2023-11-30 17:58:48 +01:00
<code > <![CDATA[static fn (ClassLike $c): bool => $c->name !== null]]> </code>
2023-08-05 21:32:33 +02:00
</ArgumentTypeCoercion>
<MissingClosureParamType >
<code > $val</code>
</MissingClosureParamType>
<MissingClosureReturnType >
<code > <![CDATA[fn &() => $this->{$var}]]> </code>
</MissingClosureReturnType>
<MissingReturnType >
<code > getVar</code>
</MissingReturnType>
<PossiblyInvalidArgument >
<code > $value</code>
<code > $value</code>
</PossiblyInvalidArgument>
<PossiblyNullFunctionCall >
<code > < ![CDATA[Closure::bind(
fn & () => $this->{$var},
$obj,
$obj::class,
)->__invoke()]]></code>
<code > < ![CDATA[Closure::bind(
function () use ($var, & $val): void {
$this->{$var} =& $val;
},
$obj,
$obj::class,
)->__invoke()]]></code>
</PossiblyNullFunctionCall>
<PossiblyNullReference >
<code > __invoke</code>
<code > __invoke</code>
</PossiblyNullReference>
<UnsupportedReferenceUsage >
<code > <![CDATA[$this->{$var} =& $val]]> </code>
</UnsupportedReferenceUsage>
</file>
<file src= "src/VoIP.php" >
2023-08-12 21:47:09 +02:00
<PossiblyInvalidArrayAccess >
<code > <![CDATA[$API->getSelf()['id']]]> </code>
</PossiblyInvalidArrayAccess>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/VoIP/Endpoint.php" >
2023-08-20 17:44:04 +02:00
<InaccessibleProperty >
<code > <![CDATA[$this->udp]]> </code>
</InaccessibleProperty>
2023-08-05 21:32:33 +02:00
<MissingParamType >
<code > $stream</code>
</MissingParamType>
2023-08-12 21:47:09 +02:00
<PossiblyInvalidArrayOffset >
<code > <![CDATA[$result[$x]['data']]]> </code>
<code > <![CDATA[$result[$x]['data']]]> </code>
<code > <![CDATA[$result[$x]['has_more_flags']]]> </code>
<code > <![CDATA[$result[$x]['has_more_flags']]]> </code>
<code > <![CDATA[$result[$x]['stream_id']]]> </code>
<code > <![CDATA[$result[$x]['stream_id']]]> </code>
<code > <![CDATA[$result[$x]['timestamp']]]> </code>
<code > <![CDATA[$result[$x]['timestamp']]]> </code>
</PossiblyInvalidArrayOffset>
2023-08-20 17:44:04 +02:00
<PossiblyNullArgument >
<code > $crc</code>
<code > $encrypted_data</code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(4)]]> </code>
<code > <![CDATA[$payload->bufferRead(8)]]> </code>
</PossiblyNullArgument>
2023-08-12 21:47:09 +02:00
<PossiblyNullReference >
2023-08-20 17:44:04 +02:00
<code > getReadBuffer</code>
2023-08-12 21:47:09 +02:00
</PossiblyNullReference>
2023-08-05 21:32:33 +02:00
<PossiblyUndefinedVariable >
<code > $ack_mask</code>
<code > $out_seq_no</code>
</PossiblyUndefinedVariable>
2023-08-20 17:44:04 +02:00
<PropertyTypeCoercion >
<code > <![CDATA[$context->getStream()]]> </code>
</PropertyTypeCoercion>
<RedundantCondition >
<code > <![CDATA[$this->udp]]> </code>
</RedundantCondition>
<TypeDoesNotContainType >
<code > true</code>
</TypeDoesNotContainType>
2023-09-05 18:10:12 +02:00
<UndefinedClass >
<code > ClosedException</code>
<code > ClosedException</code>
</UndefinedClass>
2023-08-05 21:32:33 +02:00
</file>
2023-08-12 21:47:09 +02:00
<file src= "src/VoIPController.php" >
2023-09-03 19:05:00 +02:00
<ArgumentTypeCoercion >
<code > <![CDATA[\ord($buffer->readLength(1))]]> </code>
</ArgumentTypeCoercion>
2023-08-12 21:47:09 +02:00
<InaccessibleProperty >
<code > <![CDATA[$this->authKey]]> </code>
<code > <![CDATA[$this->authKey]]> </code>
</InaccessibleProperty>
<InvalidArgument >
<code > <![CDATA[$this->call]]> </code>
</InvalidArgument>
<InvalidPropertyAssignmentValue >
<code > $visualization</code>
<code > $visualization</code>
</InvalidPropertyAssignmentValue>
2023-08-20 17:44:04 +02:00
<PossiblyNullArgument >
<code > <![CDATA[$this->pendingPing]]> </code>
</PossiblyNullArgument>
2023-08-12 21:47:09 +02:00
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[$this->call['g_a']]]> </code>
</PossiblyUndefinedArrayOffset>
<PropertyNotSetInConstructor >
<code > $authKey</code>
<code > $bestEndpoint</code>
<code > $messageHandler</code>
</PropertyNotSetInConstructor>
2023-08-20 17:44:04 +02:00
<TypeDoesNotContainType >
<code > <![CDATA[isset($this->API->logger)]]> </code>
</TypeDoesNotContainType>
2023-08-12 21:47:09 +02:00
</file>
2023-08-05 21:32:33 +02:00
<file src= "src/Wrappers/DialogHandler.php" >
<InvalidReturnType >
<code > <![CDATA[array<int, array>]]> </code>
</InvalidReturnType>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
<code > <![CDATA[$this->authorization['user']['bot']]]> </code>
</PossiblyNullArrayAccess>
<PossiblyNullArrayOffset >
<code > $dialogs</code>
</PossiblyNullArrayOffset>
2023-09-05 15:12:46 +02:00
<TypeDoesNotContainType >
<code > <![CDATA[$this->cachedAllBotUsers]]> </code>
<code > <![CDATA[$this->cachedAllBotUsers]]> </code>
</TypeDoesNotContainType>
2023-08-05 21:32:33 +02:00
</file>
<file src= "src/Wrappers/Events.php" >
<DocblockTypeContradiction >
<code > <![CDATA[$this->event_handler_instance === null || $this->event_handler_instance instanceof __PHP_Incomplete_Class]]> </code>
<code > <![CDATA[$this->event_handler_instance instanceof __PHP_Incomplete_Class]]> </code>
</DocblockTypeContradiction>
<MoreSpecificReturnType >
<code > PluginEventHandler|EventHandlerProxy|null</code>
</MoreSpecificReturnType>
<PossiblyInvalidArrayOffset >
<code > <![CDATA[$this->pluginInstances[$class]]]> </code>
<code > <![CDATA[$this->pluginInstances[$class]]]> </code>
<code > <![CDATA[$this->pluginInstances[$class]]]> </code>
<code > <![CDATA[$this->pluginInstances[$class]]]> </code>
<code > <![CDATA[$this->pluginInstances[$class]]]> </code>
</PossiblyInvalidArrayOffset>
<UnsafeInstantiation >
<code > new $class_name</code>
</UnsafeInstantiation>
</file>
<file src= "src/Wrappers/Login.php" >
<InvalidFalsableReturnType >
<code > array</code>
</InvalidFalsableReturnType>
<PossiblyNullArrayAccess >
<code > <![CDATA[$this->authorization['phone_code']]]> </code>
<code > <![CDATA[$this->authorization['phone_code_hash']]]> </code>
<code > <![CDATA[$this->authorization['phone_code_hash']]]> </code>
<code > <![CDATA[$this->authorization['phone_number']]]> </code>
<code > <![CDATA[$this->authorization['phone_number']]]> </code>
</PossiblyNullArrayAccess>
2023-11-23 14:52:18 +01:00
<PossiblyUndefinedVariable >
<code > $datacenter</code>
</PossiblyUndefinedVariable>
2023-08-05 21:32:33 +02:00
<RedundantConditionGivenDocblockType >
<code > \is_array($auth_key)</code>
</RedundantConditionGivenDocblockType>
</file>
<file src= "src/Wrappers/Loop.php" >
<MissingReturnType >
<code > loop</code>
</MissingReturnType>
<PossiblyInvalidOperand >
<code > <![CDATA[$_REQUEST['MadelineSelfRestart']]]> </code>
</PossiblyInvalidOperand>
</file>
<file src= "src/Wrappers/Start.php" >
<DocblockTypeContradiction >
<code > <![CDATA[$this->getAuthorization() === \danog\MadelineProto\API::LOGGED_IN]]> </code>
</DocblockTypeContradiction>
2023-09-02 15:36:10 +02:00
<InvalidFalsableReturnType >
<code > array</code>
</InvalidFalsableReturnType>
2023-08-05 21:32:33 +02:00
<PossiblyInvalidArgument >
<code > <![CDATA[$_POST['first_name']]]> </code>
<code > <![CDATA[$_POST['last_name'] ?? '']]> </code>
<code > <![CDATA[$_POST['password']]]> </code>
<code > <![CDATA[$_POST['phone_code']]]> </code>
<code > <![CDATA[$_POST['phone_number']]]> </code>
<code > <![CDATA[$_POST['token']]]> </code>
2023-08-06 22:00:31 +02:00
<code > $title</code>
2023-08-05 21:32:33 +02:00
</PossiblyInvalidArgument>
<PossiblyUndefinedArrayOffset >
<code > <![CDATA[Lang::$current_lang['loginManual']]]> </code>
<code > <![CDATA[Lang::$current_lang['loginQr']]]> </code>
</PossiblyUndefinedArrayOffset>
<PossiblyUndefinedVariable >
<code > $result</code>
<code > $result</code>
</PossiblyUndefinedVariable>
</file>
2023-01-14 19:18:23 +01:00
</files>