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