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