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
|
|
|
{
|
2016-10-14 06:53:43 +02:00
|
|
|
/**
|
2018-01-28 23:07:09 +01:00
|
|
|
* @return null|string
|
2016-10-14 06:53:43 +02:00
|
|
|
*/
|
2016-01-20 00:27:06 +01:00
|
|
|
public function getNamespace();
|
|
|
|
|
2016-11-21 04:02:26 +01:00
|
|
|
/**
|
2017-01-02 07:07:44 +01:00
|
|
|
* @return array<string, string>
|
2016-11-21 04:02:26 +01:00
|
|
|
*/
|
|
|
|
public function getAliasedClassesFlipped();
|
|
|
|
|
2019-06-06 04:13:33 +02:00
|
|
|
/**
|
|
|
|
* @return array<string, string>
|
|
|
|
*/
|
|
|
|
public function getAliasedClassesFlippedReplaceable();
|
|
|
|
|
2016-10-14 06:53:43 +02:00
|
|
|
/**
|
2017-01-07 20:35:07 +01:00
|
|
|
* @return string|null
|
2016-10-14 06:53:43 +02:00
|
|
|
*/
|
2016-11-08 01:16:51 +01:00
|
|
|
public function getFQCLN();
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2016-11-02 07:29:00 +01:00
|
|
|
/**
|
2017-01-07 20:35:07 +01:00
|
|
|
* @return string|null
|
2016-11-02 07:29:00 +01:00
|
|
|
*/
|
2016-01-20 00:27:06 +01:00
|
|
|
public function getClassName();
|
|
|
|
|
|
|
|
/**
|
2016-10-09 23:54:58 +02:00
|
|
|
* @return string|null
|
2016-01-20 00:27:06 +01:00
|
|
|
*/
|
2017-01-07 20:35:07 +01:00
|
|
|
public function getParentFQCLN();
|
2016-01-20 00:27:06 +01:00
|
|
|
|
2018-12-18 05:29:27 +01:00
|
|
|
/**
|
2019-03-22 20:59:10 +01:00
|
|
|
* @return array<string, array<string, array{Type\Union}>>|null
|
2018-12-18 05:29:27 +01:00
|
|
|
*/
|
|
|
|
public function getTemplateTypeMap();
|
|
|
|
|
2018-05-23 05:38:27 +02:00
|
|
|
/**
|
|
|
|
* @param string $file_path
|
|
|
|
* @param string $file_name
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
2018-05-30 22:19:18 +02:00
|
|
|
public function setRootFilePath($file_path, $file_name);
|
2018-05-23 05:38:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $file_path
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
2018-05-30 22:19:18 +02:00
|
|
|
public function hasParentFilePath($file_path);
|
2018-05-23 05:38:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $file_path
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
2018-05-30 22:19:18 +02:00
|
|
|
public function hasAlreadyRequiredFilePath($file_path);
|
2018-05-23 05:38:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
2018-05-30 22:19:18 +02:00
|
|
|
public function getRequireNesting();
|
2018-05-23 05:38:27 +02:00
|
|
|
|
2016-10-14 06:53:43 +02:00
|
|
|
/**
|
|
|
|
* @return bool
|
|
|
|
*/
|
2016-01-20 00:27:06 +01:00
|
|
|
public function isStatic();
|
2016-05-16 05:06:03 +02:00
|
|
|
|
2016-10-14 06:53:43 +02:00
|
|
|
/**
|
|
|
|
* @return StatementsSource|null
|
|
|
|
*/
|
2016-05-16 05:06:03 +02:00
|
|
|
public function getSource();
|
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
|
|
|
*/
|
|
|
|
public function getSuppressedIssues();
|
2017-10-27 00:19:19 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param array<int, string> $new_issues
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function addSuppressedIssues(array $new_issues);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param array<int, string> $new_issues
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function removeSuppressedIssues(array $new_issues);
|
2016-01-20 00:27:06 +01:00
|
|
|
}
|