Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernize plugin API #11352

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 4 additions & 24 deletions src/Psalm/Plugin/EventHandler/Event/AddRemoveTaintsEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,30 +18,10 @@ final class AddRemoveTaintsEvent
* @internal
*/
public function __construct(
private readonly ArrayItem|Expr $expr,
private readonly Context $context,
private readonly StatementsSource $statements_source,
private readonly Codebase $codebase,
public readonly ArrayItem|Expr $expr,
public readonly Context $context,
public readonly StatementsSource $statements_source,
public readonly Codebase $codebase,
) {
}

public function getExpr(): ArrayItem|Expr
{
return $this->expr;
}

public function getContext(): Context
{
return $this->context;
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}
}
31 changes: 4 additions & 27 deletions src/Psalm/Plugin/EventHandler/Event/AfterAnalysisEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,10 @@ final class AfterAnalysisEvent
* @internal
*/
public function __construct(
private readonly Codebase $codebase,
private readonly array $issues,
private readonly array $build_info,
private readonly ?SourceControlInfo $source_control_info = null,
public readonly Codebase $codebase,
public readonly array $issues,
public readonly array $build_info,
public readonly ?SourceControlInfo $source_control_info = null,
) {
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return array<string, list<IssueData>> where string key is a filepath
*/
public function getIssues(): array
{
return $this->issues;
}

public function getBuildInfo(): array
{
return $this->build_info;
}

public function getSourceControlInfo(): ?SourceControlInfo
{
return $this->source_control_info;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,11 @@ final class AfterClassLikeAnalysisEvent
* @internal
*/
public function __construct(
private readonly Node\Stmt\ClassLike $stmt,
private readonly ClassLikeStorage $classlike_storage,
private readonly StatementsSource $statements_source,
private readonly Codebase $codebase,
private array $file_replacements = [],
public readonly Node\Stmt\ClassLike $stmt,
public readonly ClassLikeStorage $classlike_storage,
public readonly StatementsSource $statements_source,
public readonly Codebase $codebase,
public array $file_replacements = [],
) {
}

public function getStmt(): Node\Stmt\ClassLike
{
return $this->stmt;
}

public function getClasslikeStorage(): ClassLikeStorage
{
return $this->classlike_storage;
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return FileManipulation[]
*/
public function getFileReplacements(): array
{
return $this->file_replacements;
}

/**
* @param FileManipulation[] $file_replacements
*/
public function setFileReplacements(array $file_replacements): void
{
$this->file_replacements = $file_replacements;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,47 +16,11 @@ final class AfterClassLikeExistenceCheckEvent
* @internal
*/
public function __construct(
private readonly string $fq_class_name,
private readonly CodeLocation $code_location,
private readonly StatementsSource $statements_source,
private readonly Codebase $codebase,
private array $file_replacements = [],
public readonly string $fq_class_name,
public readonly CodeLocation $code_location,
public readonly StatementsSource $statements_source,
public readonly Codebase $codebase,
public array $file_replacements = [],
) {
}

public function getFqClassName(): string
{
return $this->fq_class_name;
}

public function getCodeLocation(): CodeLocation
{
return $this->code_location;
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return FileManipulation[]
*/
public function getFileReplacements(): array
{
return $this->file_replacements;
}

/**
* @param FileManipulation[] $file_replacements
*/
public function setFileReplacements(array $file_replacements): void
{
$this->file_replacements = $file_replacements;
}
}
46 changes: 5 additions & 41 deletions src/Psalm/Plugin/EventHandler/Event/AfterClassLikeVisitEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,47 +17,11 @@ final class AfterClassLikeVisitEvent
* @internal
*/
public function __construct(
private readonly ClassLike $stmt,
private readonly ClassLikeStorage $storage,
private readonly FileSource $statements_source,
private readonly Codebase $codebase,
private array $file_replacements = [],
public readonly ClassLike $stmt,
public readonly ClassLikeStorage $storage,
public readonly FileSource $statements_source,
public readonly Codebase $codebase,
public array $file_replacements = [],
) {
}

public function getStmt(): ClassLike
{
return $this->stmt;
}

public function getStorage(): ClassLikeStorage
{
return $this->storage;
}

public function getStatementsSource(): FileSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return FileManipulation[]
*/
public function getFileReplacements(): array
{
return $this->file_replacements;
}

/**
* @param FileManipulation[] $file_replacements
*/
public function setFileReplacements(array $file_replacements): void
{
$this->file_replacements = $file_replacements;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@ final class AfterCodebasePopulatedEvent
* @internal
*/
public function __construct(
private readonly Codebase $codebase,
public readonly Codebase $codebase,
) {
}

public function getCodebase(): Codebase
{
return $this->codebase;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,11 @@ final class AfterEveryFunctionCallAnalysisEvent
{
/** @internal */
public function __construct(
private readonly FuncCall $expr,
private readonly string $function_id,
private readonly Context $context,
private readonly StatementsSource $statements_source,
private readonly Codebase $codebase,
public readonly FuncCall $expr,
public readonly string $function_id,
public readonly Context $context,
public readonly StatementsSource $statements_source,
public readonly Codebase $codebase,
) {
}

public function getExpr(): FuncCall
{
return $this->expr;
}

public function getFunctionId(): string
{
return $this->function_id;
}

public function getContext(): Context
{
return $this->context;
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,11 @@ final class AfterExpressionAnalysisEvent
* @internal
*/
public function __construct(
private readonly Expr $expr,
private readonly Context $context,
private readonly StatementsSource $statements_source,
private readonly Codebase $codebase,
private array $file_replacements = [],
public readonly Expr $expr,
public readonly Context $context,
public readonly StatementsSource $statements_source,
public readonly Codebase $codebase,
public array $file_replacements = [],
) {
}

public function getExpr(): Expr
{
return $this->expr;
}

public function getContext(): Context
{
return $this->context;
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return FileManipulation[]
*/
public function getFileReplacements(): array
{
return $this->file_replacements;
}

/**
* @param FileManipulation[] $file_replacements
*/
public function setFileReplacements(array $file_replacements): void
{
$this->file_replacements = $file_replacements;
}
}
}
38 changes: 5 additions & 33 deletions src/Psalm/Plugin/EventHandler/Event/AfterFileAnalysisEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,39 +19,11 @@ final class AfterFileAnalysisEvent
* @internal
*/
public function __construct(
private readonly StatementsSource $statements_source,
private readonly Context $file_context,
private readonly FileStorage $file_storage,
private readonly Codebase $codebase,
private readonly array $stmts,
public readonly StatementsSource $statements_source,
public readonly Context $file_context,
public readonly FileStorage $file_storage,
public readonly Codebase $codebase,
public readonly array $stmts,
) {
}

public function getStatementsSource(): StatementsSource
{
return $this->statements_source;
}

public function getFileContext(): Context
{
return $this->file_context;
}

public function getFileStorage(): FileStorage
{
return $this->file_storage;
}

public function getCodebase(): Codebase
{
return $this->codebase;
}

/**
* @return Stmt[]
*/
public function getStmts(): array
{
return $this->stmts;
}
}
Loading
Loading