1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-22 05:41:20 +01:00
psalm/src/Psalm/Plugin.php

86 lines
2.4 KiB
PHP
Raw Normal View History

2016-06-18 14:45:55 -04:00
<?php
2016-07-25 18:37:44 -04:00
namespace Psalm;
2016-06-18 14:45:55 -04:00
use PhpParser;
use Psalm\Checker\FileChecker;
use Psalm\Checker\StatementsChecker;
use Psalm\FileManipulation\FileManipulation;
use Psalm\Storage\ClassLikeStorage;
2016-06-18 14:45:55 -04:00
abstract class Plugin
{
/**
* Called after an expression has been checked
2016-11-02 02:29:00 -04:00
*
* @param StatementsChecker $statements_checker
2016-06-18 14:45:55 -04:00
* @param PhpParser\Node\Expr $stmt
2016-06-20 01:29:30 -04:00
* @param Context $context
* @param CodeLocation $code_location
* @param string[] $suppressed_issues
* @param FileManipulation[] $file_replacements
2017-05-26 20:16:18 -04:00
*
2016-06-18 14:45:55 -04:00
* @return null|false
*/
public function afterExpressionCheck(
StatementsChecker $statements_checker,
PhpParser\Node\Expr $stmt,
Context $context,
CodeLocation $code_location,
array $suppressed_issues,
array &$file_replacements = []
) {
2016-11-02 02:29:00 -04:00
return null;
2016-06-18 14:45:55 -04:00
}
/**
* Called after a statement has been checked
2016-11-02 02:29:00 -04:00
*
* @param StatementsChecker $statements_checker
2016-12-12 13:50:46 -05:00
* @param PhpParser\Node\Stmt|PhpParser\Node\Expr $stmt
* @param Context $context
* @param CodeLocation $code_location
* @param string[] $suppressed_issues
* @param FileManipulation[] $file_replacements
2017-05-26 20:16:18 -04:00
*
2016-06-18 14:45:55 -04:00
* @return null|false
*/
public function afterStatementCheck(
StatementsChecker $statements_checker,
PhpParser\Node $stmt,
Context $context,
CodeLocation $code_location,
array $suppressed_issues,
array &$file_replacements = []
) {
2016-11-02 02:29:00 -04:00
return null;
2016-06-18 14:45:55 -04:00
}
/**
* @param FileManipulation[] $file_replacements
2017-05-26 20:16:18 -04:00
*
* @return void
*/
public function visitClassLike(
2017-05-05 00:06:46 -04:00
PhpParser\Node\Stmt\ClassLike $stmt,
ClassLikeStorage $storage,
FileChecker $file_checker,
Aliases $aliases,
array &$file_replacements = []
) {
}
/**
* @param string $fq_class_name
* @param FileManipulation[] $file_replacements
*
* @return void
*/
public function afterClassLikeExistsCheck(
StatementsSource $statements_source,
$fq_class_name,
CodeLocation $code_location,
array &$file_replacements = []
) {
}
2016-06-18 14:45:55 -04:00
}