2016-01-20 00:27:06 +01:00
|
|
|
<?php
|
2016-07-26 00:37:44 +02:00
|
|
|
namespace Psalm;
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2018-01-21 18:44:46 +01:00
|
|
|
interface StatementsSource extends FileSource
|
2016-01-20 00:27:06 +01:00
|
|
|
{
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getNamespace(): ?string;
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2016-11-21 04:02:26 +01:00
|
|
|
/**
|
2020-12-29 12:42:12 +01:00
|
|
|
* @return array<lowercase-string, string>
|
2016-11-21 04:02:26 +01:00
|
|
|
*/
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getAliasedClassesFlipped(): array;
|
2016-11-21 04:02:26 +01:00
|
|
|
|
2019-06-06 04:13:33 +02:00
|
|
|
/**
|
|
|
|
* @return array<string, string>
|
|
|
|
*/
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getAliasedClassesFlippedReplaceable(): array;
|
2019-06-06 04:13:33 +02:00
|
|
|
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getFQCLN(): ?string;
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getClassName(): ?string;
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getParentFQCLN(): ?string;
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2018-12-18 05:29:27 +01:00
|
|
|
/**
|
2020-11-27 17:43:23 +01:00
|
|
|
* @return array<string, array<string, Type\Union>>|null
|
2018-12-18 05:29:27 +01:00
|
|
|
*/
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getTemplateTypeMap(): ?array;
|
2018-12-18 05:29:27 +01:00
|
|
|
|
2020-10-12 21:02:52 +02:00
|
|
|
public function setRootFilePath(string $file_path, string $file_name): void;
|
2018-05-23 05:38:27 +02:00
|
|
|
|
2020-09-07 01:36:47 +02:00
|
|
|
public function hasParentFilePath(string $file_path): bool;
|
2018-05-23 05:38:27 +02:00
|
|
|
|
2020-09-07 01:36:47 +02:00
|
|
|
public function hasAlreadyRequiredFilePath(string $file_path): bool;
|
2018-05-23 05:38:27 +02:00
|
|
|
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getRequireNesting(): int;
|
2018-05-23 05:38:27 +02:00
|
|
|
|
2020-09-04 22:26:33 +02:00
|
|
|
public function isStatic(): bool;
|
2016-05-16 05:06:03 +02:00
|
|
|
|
2020-09-20 14:55:28 +02:00
|
|
|
public function getSource(): StatementsSource;
|
2016-07-22 19:29:46 +02:00
|
|
|
|
2018-11-06 03:57:36 +01:00
|
|
|
public function getCodebase() : Codebase;
|
|
|
|
|
2016-07-22 19:29:46 +02:00
|
|
|
/**
|
|
|
|
* Get a list of suppressed issues
|
2016-11-02 07:29:00 +01:00
|
|
|
*
|
2018-02-22 00:59:31 +01:00
|
|
|
* @return array<string>
|
2016-07-22 19:29:46 +02:00
|
|
|
*/
|
2020-09-04 22:26:33 +02:00
|
|
|
public function getSuppressedIssues(): array;
|
2017-10-27 00:19:19 +02:00
|
|
|
|
|
|
|
/**
|
2020-10-17 18:36:44 +02:00
|
|
|
* @param list<string> $new_issues
|
2017-10-27 00:19:19 +02:00
|
|
|
*/
|
2020-10-12 21:02:52 +02:00
|
|
|
public function addSuppressedIssues(array $new_issues): void;
|
2017-10-27 00:19:19 +02:00
|
|
|
|
|
|
|
/**
|
2020-10-17 18:36:44 +02:00
|
|
|
* @param list<string> $new_issues
|
2017-10-27 00:19:19 +02:00
|
|
|
*/
|
2020-10-12 21:02:52 +02:00
|
|
|
public function removeSuppressedIssues(array $new_issues): void;
|
2019-11-25 17:44:54 +01:00
|
|
|
|
|
|
|
public function getNodeTypeProvider() : NodeTypeProvider;
|
2016-01-20 00:27:06 +01:00
|
|
|
}
|