From b25a93e753d85442c94cfd096c811cd45e15b33a Mon Sep 17 00:00:00 2001 From: Bruce Weirdan Date: Mon, 7 Feb 2022 02:05:47 +0200 Subject: [PATCH 1/2] Finalize virtual nodes --- src/Psalm/Node/Expr/AssignOp/VirtualBitwiseAnd.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualBitwiseOr.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualBitwiseXor.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualCoalesce.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualConcat.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualDiv.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualMinus.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualMod.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualMul.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualPlus.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualPow.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualShiftLeft.php | 2 +- src/Psalm/Node/Expr/AssignOp/VirtualShiftRight.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseAnd.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseOr.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseXor.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualBooleanAnd.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualBooleanOr.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualCoalesce.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualConcat.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualDiv.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualEqual.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualGreater.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualGreaterOrEqual.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualIdentical.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualLogicalAnd.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualLogicalOr.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualLogicalXor.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualMinus.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualMod.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualMul.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualNotEqual.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualNotIdentical.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualPlus.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualPow.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualShiftLeft.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualShiftRight.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualSmaller.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualSmallerOrEqual.php | 2 +- src/Psalm/Node/Expr/BinaryOp/VirtualSpaceship.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualArray.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualBool.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualDouble.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualInt.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualObject.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualString.php | 2 +- src/Psalm/Node/Expr/Cast/VirtualUnset.php | 2 +- src/Psalm/Node/Expr/VirtualArray.php | 2 +- src/Psalm/Node/Expr/VirtualArrayDimFetch.php | 2 +- src/Psalm/Node/Expr/VirtualArrayItem.php | 2 +- src/Psalm/Node/Expr/VirtualArrowFunction.php | 2 +- src/Psalm/Node/Expr/VirtualAssign.php | 2 +- src/Psalm/Node/Expr/VirtualAssignRef.php | 2 +- src/Psalm/Node/Expr/VirtualBitwiseNot.php | 2 +- src/Psalm/Node/Expr/VirtualBooleanNot.php | 2 +- src/Psalm/Node/Expr/VirtualClassConstFetch.php | 2 +- src/Psalm/Node/Expr/VirtualClone.php | 2 +- src/Psalm/Node/Expr/VirtualClosure.php | 2 +- src/Psalm/Node/Expr/VirtualClosureUse.php | 2 +- src/Psalm/Node/Expr/VirtualConstFetch.php | 2 +- src/Psalm/Node/Expr/VirtualEmpty.php | 2 +- src/Psalm/Node/Expr/VirtualError.php | 2 +- src/Psalm/Node/Expr/VirtualErrorSuppress.php | 2 +- src/Psalm/Node/Expr/VirtualEval.php | 2 +- src/Psalm/Node/Expr/VirtualExit.php | 2 +- src/Psalm/Node/Expr/VirtualFuncCall.php | 2 +- src/Psalm/Node/Expr/VirtualInclude.php | 2 +- src/Psalm/Node/Expr/VirtualInstanceof.php | 2 +- src/Psalm/Node/Expr/VirtualIsset.php | 2 +- src/Psalm/Node/Expr/VirtualList.php | 2 +- src/Psalm/Node/Expr/VirtualMatch.php | 2 +- src/Psalm/Node/Expr/VirtualMethodCall.php | 2 +- src/Psalm/Node/Expr/VirtualNew.php | 2 +- src/Psalm/Node/Expr/VirtualNullsafeMethodCall.php | 2 +- src/Psalm/Node/Expr/VirtualNullsafePropertyFetch.php | 2 +- src/Psalm/Node/Expr/VirtualPostDec.php | 2 +- src/Psalm/Node/Expr/VirtualPostInc.php | 2 +- src/Psalm/Node/Expr/VirtualPreDec.php | 2 +- src/Psalm/Node/Expr/VirtualPreInc.php | 2 +- src/Psalm/Node/Expr/VirtualPrint.php | 2 +- src/Psalm/Node/Expr/VirtualPropertyFetch.php | 2 +- src/Psalm/Node/Expr/VirtualShellExec.php | 2 +- src/Psalm/Node/Expr/VirtualStaticCall.php | 2 +- src/Psalm/Node/Expr/VirtualStaticPropertyFetch.php | 2 +- src/Psalm/Node/Expr/VirtualTernary.php | 2 +- src/Psalm/Node/Expr/VirtualThrow.php | 2 +- src/Psalm/Node/Expr/VirtualUnaryMinus.php | 2 +- src/Psalm/Node/Expr/VirtualUnaryPlus.php | 2 +- src/Psalm/Node/Expr/VirtualVariable.php | 2 +- src/Psalm/Node/Expr/VirtualYield.php | 2 +- src/Psalm/Node/Expr/VirtualYieldFrom.php | 2 +- src/Psalm/Node/Name/VirtualFullyQualified.php | 2 +- src/Psalm/Node/Name/VirtualRelative.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualClass.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualDir.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualFile.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualFunction.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualLine.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualMethod.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualNamespace.php | 2 +- src/Psalm/Node/Scalar/MagicConst/VirtualTrait.php | 2 +- src/Psalm/Node/Scalar/VirtualDNumber.php | 2 +- src/Psalm/Node/Scalar/VirtualEncapsed.php | 2 +- src/Psalm/Node/Scalar/VirtualEncapsedStringPart.php | 2 +- src/Psalm/Node/Scalar/VirtualLNumber.php | 2 +- src/Psalm/Node/Scalar/VirtualString.php | 2 +- src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualAlias.php | 2 +- src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualPrecedence.php | 2 +- src/Psalm/Node/Stmt/VirtualBreak.php | 2 +- src/Psalm/Node/Stmt/VirtualCase.php | 2 +- src/Psalm/Node/Stmt/VirtualCatch.php | 2 +- src/Psalm/Node/Stmt/VirtualClass.php | 2 +- src/Psalm/Node/Stmt/VirtualClassConst.php | 2 +- src/Psalm/Node/Stmt/VirtualClassMethod.php | 2 +- src/Psalm/Node/Stmt/VirtualConst.php | 2 +- src/Psalm/Node/Stmt/VirtualContinue.php | 2 +- src/Psalm/Node/Stmt/VirtualDeclare.php | 2 +- src/Psalm/Node/Stmt/VirtualDeclareDeclare.php | 2 +- src/Psalm/Node/Stmt/VirtualDo.php | 2 +- src/Psalm/Node/Stmt/VirtualEcho.php | 2 +- src/Psalm/Node/Stmt/VirtualElse.php | 2 +- src/Psalm/Node/Stmt/VirtualElseIf.php | 2 +- src/Psalm/Node/Stmt/VirtualExpression.php | 2 +- src/Psalm/Node/Stmt/VirtualFinally.php | 2 +- src/Psalm/Node/Stmt/VirtualFor.php | 2 +- src/Psalm/Node/Stmt/VirtualForeach.php | 2 +- src/Psalm/Node/Stmt/VirtualFunction.php | 2 +- src/Psalm/Node/Stmt/VirtualGlobal.php | 2 +- src/Psalm/Node/Stmt/VirtualGoto.php | 2 +- src/Psalm/Node/Stmt/VirtualGroupUse.php | 2 +- src/Psalm/Node/Stmt/VirtualHaltCompiler.php | 2 +- src/Psalm/Node/Stmt/VirtualIf.php | 2 +- src/Psalm/Node/Stmt/VirtualInlineHTML.php | 2 +- src/Psalm/Node/Stmt/VirtualInterface.php | 2 +- src/Psalm/Node/Stmt/VirtualLabel.php | 2 +- src/Psalm/Node/Stmt/VirtualNamespace.php | 2 +- src/Psalm/Node/Stmt/VirtualNop.php | 2 +- src/Psalm/Node/Stmt/VirtualProperty.php | 2 +- src/Psalm/Node/Stmt/VirtualPropertyProperty.php | 2 +- src/Psalm/Node/Stmt/VirtualReturn.php | 2 +- src/Psalm/Node/Stmt/VirtualStatic.php | 2 +- src/Psalm/Node/Stmt/VirtualStaticVar.php | 2 +- src/Psalm/Node/Stmt/VirtualSwitch.php | 2 +- src/Psalm/Node/Stmt/VirtualThrow.php | 2 +- src/Psalm/Node/Stmt/VirtualTrait.php | 2 +- src/Psalm/Node/Stmt/VirtualTraitUse.php | 2 +- src/Psalm/Node/Stmt/VirtualTryCatch.php | 2 +- src/Psalm/Node/Stmt/VirtualUnset.php | 2 +- src/Psalm/Node/Stmt/VirtualUse.php | 2 +- src/Psalm/Node/Stmt/VirtualUseUse.php | 2 +- src/Psalm/Node/Stmt/VirtualWhile.php | 2 +- src/Psalm/Node/VirtualArg.php | 2 +- src/Psalm/Node/VirtualAttribute.php | 2 +- src/Psalm/Node/VirtualAttributeGroup.php | 2 +- src/Psalm/Node/VirtualConst.php | 2 +- src/Psalm/Node/VirtualIdentifier.php | 2 +- src/Psalm/Node/VirtualMatchArm.php | 2 +- src/Psalm/Node/VirtualName.php | 2 +- src/Psalm/Node/VirtualNullableType.php | 2 +- src/Psalm/Node/VirtualParam.php | 2 +- src/Psalm/Node/VirtualUnionType.php | 2 +- src/Psalm/Node/VirtualVarLikeIdentifier.php | 2 +- 162 files changed, 162 insertions(+), 162 deletions(-) diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseAnd.php b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseAnd.php index 9c28c1e74ea..3a92d693da0 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseAnd.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseAnd.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\BitwiseAnd; use Psalm\Node\VirtualNode; -class VirtualBitwiseAnd extends BitwiseAnd implements VirtualNode +final class VirtualBitwiseAnd extends BitwiseAnd implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseOr.php b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseOr.php index ce662bf92ad..8ada08ecf5c 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseOr.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseOr.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\BitwiseOr; use Psalm\Node\VirtualNode; -class VirtualBitwiseOr extends BitwiseOr implements VirtualNode +final class VirtualBitwiseOr extends BitwiseOr implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseXor.php b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseXor.php index da055523594..76685b45d59 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseXor.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualBitwiseXor.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\BitwiseXor; use Psalm\Node\VirtualNode; -class VirtualBitwiseXor extends BitwiseXor implements VirtualNode +final class VirtualBitwiseXor extends BitwiseXor implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualCoalesce.php b/src/Psalm/Node/Expr/AssignOp/VirtualCoalesce.php index 392a699cd09..b034d228a2d 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualCoalesce.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualCoalesce.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Coalesce; use Psalm\Node\VirtualNode; -class VirtualCoalesce extends Coalesce implements VirtualNode +final class VirtualCoalesce extends Coalesce implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualConcat.php b/src/Psalm/Node/Expr/AssignOp/VirtualConcat.php index 572c06bf2fb..0d9d0fcb621 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualConcat.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualConcat.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Concat; use Psalm\Node\VirtualNode; -class VirtualConcat extends Concat implements VirtualNode +final class VirtualConcat extends Concat implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualDiv.php b/src/Psalm/Node/Expr/AssignOp/VirtualDiv.php index fa4d86c3f58..06917429285 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualDiv.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualDiv.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Div; use Psalm\Node\VirtualNode; -class VirtualDiv extends Div implements VirtualNode +final class VirtualDiv extends Div implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualMinus.php b/src/Psalm/Node/Expr/AssignOp/VirtualMinus.php index d535aab1a09..0279a617ebc 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualMinus.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualMinus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Minus; use Psalm\Node\VirtualNode; -class VirtualMinus extends Minus implements VirtualNode +final class VirtualMinus extends Minus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualMod.php b/src/Psalm/Node/Expr/AssignOp/VirtualMod.php index 79805b0f5de..ff9d1a5c51c 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualMod.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualMod.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Mod; use Psalm\Node\VirtualNode; -class VirtualMod extends Mod implements VirtualNode +final class VirtualMod extends Mod implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualMul.php b/src/Psalm/Node/Expr/AssignOp/VirtualMul.php index bc0c1ea0be8..c6e3732f87a 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualMul.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualMul.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Mul; use Psalm\Node\VirtualNode; -class VirtualMul extends Mul implements VirtualNode +final class VirtualMul extends Mul implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualPlus.php b/src/Psalm/Node/Expr/AssignOp/VirtualPlus.php index f6abbaac150..440f6939006 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualPlus.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualPlus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Plus; use Psalm\Node\VirtualNode; -class VirtualPlus extends Plus implements VirtualNode +final class VirtualPlus extends Plus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualPow.php b/src/Psalm/Node/Expr/AssignOp/VirtualPow.php index d0e3faa8088..40a883180a2 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualPow.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualPow.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\Pow; use Psalm\Node\VirtualNode; -class VirtualPow extends Pow implements VirtualNode +final class VirtualPow extends Pow implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualShiftLeft.php b/src/Psalm/Node/Expr/AssignOp/VirtualShiftLeft.php index 6dd915e3891..7c763ebb8a3 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualShiftLeft.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualShiftLeft.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\ShiftLeft; use Psalm\Node\VirtualNode; -class VirtualShiftLeft extends ShiftLeft implements VirtualNode +final class VirtualShiftLeft extends ShiftLeft implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/AssignOp/VirtualShiftRight.php b/src/Psalm/Node/Expr/AssignOp/VirtualShiftRight.php index 010ea4fa689..223cff3c9da 100644 --- a/src/Psalm/Node/Expr/AssignOp/VirtualShiftRight.php +++ b/src/Psalm/Node/Expr/AssignOp/VirtualShiftRight.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignOp\ShiftRight; use Psalm\Node\VirtualNode; -class VirtualShiftRight extends ShiftRight implements VirtualNode +final class VirtualShiftRight extends ShiftRight implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseAnd.php b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseAnd.php index 98a12d180ff..1faed8e6610 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseAnd.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseAnd.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\BitwiseAnd; use Psalm\Node\VirtualNode; -class VirtualBitwiseAnd extends BitwiseAnd implements VirtualNode +final class VirtualBitwiseAnd extends BitwiseAnd implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseOr.php b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseOr.php index 750fce69e99..ed15900148f 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseOr.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseOr.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\BitwiseOr; use Psalm\Node\VirtualNode; -class VirtualBitwiseOr extends BitwiseOr implements VirtualNode +final class VirtualBitwiseOr extends BitwiseOr implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseXor.php b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseXor.php index cb7f55f8f00..da288790190 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseXor.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualBitwiseXor.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\BitwiseXor; use Psalm\Node\VirtualNode; -class VirtualBitwiseXor extends BitwiseXor implements VirtualNode +final class VirtualBitwiseXor extends BitwiseXor implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanAnd.php b/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanAnd.php index 12523771a9b..19cfa6c8e48 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanAnd.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanAnd.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\BooleanAnd; use Psalm\Node\VirtualNode; -class VirtualBooleanAnd extends BooleanAnd implements VirtualNode +final class VirtualBooleanAnd extends BooleanAnd implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanOr.php b/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanOr.php index c9a5b1d6956..4ab6881871d 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanOr.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualBooleanOr.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\BooleanOr; use Psalm\Node\VirtualNode; -class VirtualBooleanOr extends BooleanOr implements VirtualNode +final class VirtualBooleanOr extends BooleanOr implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualCoalesce.php b/src/Psalm/Node/Expr/BinaryOp/VirtualCoalesce.php index cd6da2554e7..79d867846c3 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualCoalesce.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualCoalesce.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Coalesce; use Psalm\Node\VirtualNode; -class VirtualCoalesce extends Coalesce implements VirtualNode +final class VirtualCoalesce extends Coalesce implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualConcat.php b/src/Psalm/Node/Expr/BinaryOp/VirtualConcat.php index 1fe727400bd..04d099a7910 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualConcat.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualConcat.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Concat; use Psalm\Node\VirtualNode; -class VirtualConcat extends Concat implements VirtualNode +final class VirtualConcat extends Concat implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualDiv.php b/src/Psalm/Node/Expr/BinaryOp/VirtualDiv.php index efbf5c571c6..00910457198 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualDiv.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualDiv.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Div; use Psalm\Node\VirtualNode; -class VirtualDiv extends Div implements VirtualNode +final class VirtualDiv extends Div implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualEqual.php b/src/Psalm/Node/Expr/BinaryOp/VirtualEqual.php index c02decd0bc7..0238c99c942 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualEqual.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualEqual.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Equal; use Psalm\Node\VirtualNode; -class VirtualEqual extends Equal implements VirtualNode +final class VirtualEqual extends Equal implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualGreater.php b/src/Psalm/Node/Expr/BinaryOp/VirtualGreater.php index 3caae8f4e09..b29cbe4a56a 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualGreater.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualGreater.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Greater; use Psalm\Node\VirtualNode; -class VirtualGreater extends Greater implements VirtualNode +final class VirtualGreater extends Greater implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualGreaterOrEqual.php b/src/Psalm/Node/Expr/BinaryOp/VirtualGreaterOrEqual.php index 3fa92241edd..bf4595ad3e8 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualGreaterOrEqual.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualGreaterOrEqual.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\GreaterOrEqual; use Psalm\Node\VirtualNode; -class VirtualGreaterOrEqual extends GreaterOrEqual implements VirtualNode +final class VirtualGreaterOrEqual extends GreaterOrEqual implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualIdentical.php b/src/Psalm/Node/Expr/BinaryOp/VirtualIdentical.php index b680abdf962..a2f5ee5906d 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualIdentical.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualIdentical.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Identical; use Psalm\Node\VirtualNode; -class VirtualIdentical extends Identical implements VirtualNode +final class VirtualIdentical extends Identical implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalAnd.php b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalAnd.php index 27c77988fcb..3b732c766ef 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalAnd.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalAnd.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\LogicalAnd; use Psalm\Node\VirtualNode; -class VirtualLogicalAnd extends LogicalAnd implements VirtualNode +final class VirtualLogicalAnd extends LogicalAnd implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalOr.php b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalOr.php index daea5b3c0dd..9e9bcf63e10 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalOr.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalOr.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\LogicalOr; use Psalm\Node\VirtualNode; -class VirtualLogicalOr extends LogicalOr implements VirtualNode +final class VirtualLogicalOr extends LogicalOr implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalXor.php b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalXor.php index 3e7fe93ba60..282ac1aeff3 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalXor.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualLogicalXor.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\LogicalXor; use Psalm\Node\VirtualNode; -class VirtualLogicalXor extends LogicalXor implements VirtualNode +final class VirtualLogicalXor extends LogicalXor implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualMinus.php b/src/Psalm/Node/Expr/BinaryOp/VirtualMinus.php index c26353bc9ad..ab5faba1049 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualMinus.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualMinus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Minus; use Psalm\Node\VirtualNode; -class VirtualMinus extends Minus implements VirtualNode +final class VirtualMinus extends Minus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualMod.php b/src/Psalm/Node/Expr/BinaryOp/VirtualMod.php index 3daadb3fe7c..db56415a435 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualMod.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualMod.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Mod; use Psalm\Node\VirtualNode; -class VirtualMod extends Mod implements VirtualNode +final class VirtualMod extends Mod implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualMul.php b/src/Psalm/Node/Expr/BinaryOp/VirtualMul.php index bba1aafc3e3..3b8475217d5 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualMul.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualMul.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Mul; use Psalm\Node\VirtualNode; -class VirtualMul extends Mul implements VirtualNode +final class VirtualMul extends Mul implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualNotEqual.php b/src/Psalm/Node/Expr/BinaryOp/VirtualNotEqual.php index 4d1c436fc41..1b981da32ee 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualNotEqual.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualNotEqual.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\NotEqual; use Psalm\Node\VirtualNode; -class VirtualNotEqual extends NotEqual implements VirtualNode +final class VirtualNotEqual extends NotEqual implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualNotIdentical.php b/src/Psalm/Node/Expr/BinaryOp/VirtualNotIdentical.php index 12b907ca371..af686797d83 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualNotIdentical.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualNotIdentical.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\NotIdentical; use Psalm\Node\VirtualNode; -class VirtualNotIdentical extends NotIdentical implements VirtualNode +final class VirtualNotIdentical extends NotIdentical implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualPlus.php b/src/Psalm/Node/Expr/BinaryOp/VirtualPlus.php index 2376af47a0b..cd0d0fd3974 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualPlus.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualPlus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Plus; use Psalm\Node\VirtualNode; -class VirtualPlus extends Plus implements VirtualNode +final class VirtualPlus extends Plus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualPow.php b/src/Psalm/Node/Expr/BinaryOp/VirtualPow.php index 680a4cbdce2..1141433bd1e 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualPow.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualPow.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Pow; use Psalm\Node\VirtualNode; -class VirtualPow extends Pow implements VirtualNode +final class VirtualPow extends Pow implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualShiftLeft.php b/src/Psalm/Node/Expr/BinaryOp/VirtualShiftLeft.php index 86bbe4061f6..f1b50a02da2 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualShiftLeft.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualShiftLeft.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\ShiftLeft; use Psalm\Node\VirtualNode; -class VirtualShiftLeft extends ShiftLeft implements VirtualNode +final class VirtualShiftLeft extends ShiftLeft implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualShiftRight.php b/src/Psalm/Node/Expr/BinaryOp/VirtualShiftRight.php index 9cc94a1a2de..2b5b3a92fac 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualShiftRight.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualShiftRight.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\ShiftRight; use Psalm\Node\VirtualNode; -class VirtualShiftRight extends ShiftRight implements VirtualNode +final class VirtualShiftRight extends ShiftRight implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualSmaller.php b/src/Psalm/Node/Expr/BinaryOp/VirtualSmaller.php index 20e2ca55f65..00376b93e4a 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualSmaller.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualSmaller.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Smaller; use Psalm\Node\VirtualNode; -class VirtualSmaller extends Smaller implements VirtualNode +final class VirtualSmaller extends Smaller implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualSmallerOrEqual.php b/src/Psalm/Node/Expr/BinaryOp/VirtualSmallerOrEqual.php index 9c4d93e1f5d..f98a4463fd0 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualSmallerOrEqual.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualSmallerOrEqual.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\SmallerOrEqual; use Psalm\Node\VirtualNode; -class VirtualSmallerOrEqual extends SmallerOrEqual implements VirtualNode +final class VirtualSmallerOrEqual extends SmallerOrEqual implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/BinaryOp/VirtualSpaceship.php b/src/Psalm/Node/Expr/BinaryOp/VirtualSpaceship.php index 01c5a44e7e6..2c97794bce2 100644 --- a/src/Psalm/Node/Expr/BinaryOp/VirtualSpaceship.php +++ b/src/Psalm/Node/Expr/BinaryOp/VirtualSpaceship.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BinaryOp\Spaceship; use Psalm\Node\VirtualNode; -class VirtualSpaceship extends Spaceship implements VirtualNode +final class VirtualSpaceship extends Spaceship implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualArray.php b/src/Psalm/Node/Expr/Cast/VirtualArray.php index ca5b8ffe1e8..990769f5d40 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualArray.php +++ b/src/Psalm/Node/Expr/Cast/VirtualArray.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Array_; use Psalm\Node\VirtualNode; -class VirtualArray extends Array_ implements VirtualNode +final class VirtualArray extends Array_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualBool.php b/src/Psalm/Node/Expr/Cast/VirtualBool.php index 94fde385b03..ac02da2a749 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualBool.php +++ b/src/Psalm/Node/Expr/Cast/VirtualBool.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Bool_; use Psalm\Node\VirtualNode; -class VirtualBool extends Bool_ implements VirtualNode +final class VirtualBool extends Bool_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualDouble.php b/src/Psalm/Node/Expr/Cast/VirtualDouble.php index aebf5a82e67..44b8b9818e6 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualDouble.php +++ b/src/Psalm/Node/Expr/Cast/VirtualDouble.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Double; use Psalm\Node\VirtualNode; -class VirtualDouble extends Double implements VirtualNode +final class VirtualDouble extends Double implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualInt.php b/src/Psalm/Node/Expr/Cast/VirtualInt.php index c389a7758fa..f1137e1d425 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualInt.php +++ b/src/Psalm/Node/Expr/Cast/VirtualInt.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Int_; use Psalm\Node\VirtualNode; -class VirtualInt extends Int_ implements VirtualNode +final class VirtualInt extends Int_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualObject.php b/src/Psalm/Node/Expr/Cast/VirtualObject.php index 4846b7213f7..3111f25a7d2 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualObject.php +++ b/src/Psalm/Node/Expr/Cast/VirtualObject.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Object_; use Psalm\Node\VirtualNode; -class VirtualObject extends Object_ implements VirtualNode +final class VirtualObject extends Object_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualString.php b/src/Psalm/Node/Expr/Cast/VirtualString.php index 31e66c6fa69..5d9263ebac2 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualString.php +++ b/src/Psalm/Node/Expr/Cast/VirtualString.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\String_; use Psalm\Node\VirtualNode; -class VirtualString extends String_ implements VirtualNode +final class VirtualString extends String_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/Cast/VirtualUnset.php b/src/Psalm/Node/Expr/Cast/VirtualUnset.php index 52ad1c667c2..933eaad0aa3 100644 --- a/src/Psalm/Node/Expr/Cast/VirtualUnset.php +++ b/src/Psalm/Node/Expr/Cast/VirtualUnset.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Cast\Unset_; use Psalm\Node\VirtualNode; -class VirtualUnset extends Unset_ implements VirtualNode +final class VirtualUnset extends Unset_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualArray.php b/src/Psalm/Node/Expr/VirtualArray.php index c75e906a16e..8b703212a05 100644 --- a/src/Psalm/Node/Expr/VirtualArray.php +++ b/src/Psalm/Node/Expr/VirtualArray.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Array_; use Psalm\Node\VirtualNode; -class VirtualArray extends Array_ implements VirtualNode +final class VirtualArray extends Array_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualArrayDimFetch.php b/src/Psalm/Node/Expr/VirtualArrayDimFetch.php index 7d7236e19e2..d2b25e6e2ac 100644 --- a/src/Psalm/Node/Expr/VirtualArrayDimFetch.php +++ b/src/Psalm/Node/Expr/VirtualArrayDimFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ArrayDimFetch; use Psalm\Node\VirtualNode; -class VirtualArrayDimFetch extends ArrayDimFetch implements VirtualNode +final class VirtualArrayDimFetch extends ArrayDimFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualArrayItem.php b/src/Psalm/Node/Expr/VirtualArrayItem.php index 844fab8a5e4..dccea4d2c41 100644 --- a/src/Psalm/Node/Expr/VirtualArrayItem.php +++ b/src/Psalm/Node/Expr/VirtualArrayItem.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ArrayItem; use Psalm\Node\VirtualNode; -class VirtualArrayItem extends ArrayItem implements VirtualNode +final class VirtualArrayItem extends ArrayItem implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualArrowFunction.php b/src/Psalm/Node/Expr/VirtualArrowFunction.php index 07b4f700fc8..8c16230ca8d 100644 --- a/src/Psalm/Node/Expr/VirtualArrowFunction.php +++ b/src/Psalm/Node/Expr/VirtualArrowFunction.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ArrowFunction; use Psalm\Node\VirtualNode; -class VirtualArrowFunction extends ArrowFunction implements VirtualNode +final class VirtualArrowFunction extends ArrowFunction implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualAssign.php b/src/Psalm/Node/Expr/VirtualAssign.php index 334beb9fc3e..bba375bd51b 100644 --- a/src/Psalm/Node/Expr/VirtualAssign.php +++ b/src/Psalm/Node/Expr/VirtualAssign.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Assign; use Psalm\Node\VirtualNode; -class VirtualAssign extends Assign implements VirtualNode +final class VirtualAssign extends Assign implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualAssignRef.php b/src/Psalm/Node/Expr/VirtualAssignRef.php index 52424e4b34a..6bf87bd3493 100644 --- a/src/Psalm/Node/Expr/VirtualAssignRef.php +++ b/src/Psalm/Node/Expr/VirtualAssignRef.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\AssignRef; use Psalm\Node\VirtualNode; -class VirtualAssignRef extends AssignRef implements VirtualNode +final class VirtualAssignRef extends AssignRef implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualBitwiseNot.php b/src/Psalm/Node/Expr/VirtualBitwiseNot.php index 203a67c4636..30657f619fc 100644 --- a/src/Psalm/Node/Expr/VirtualBitwiseNot.php +++ b/src/Psalm/Node/Expr/VirtualBitwiseNot.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BitwiseNot; use Psalm\Node\VirtualNode; -class VirtualBitwiseNot extends BitwiseNot implements VirtualNode +final class VirtualBitwiseNot extends BitwiseNot implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualBooleanNot.php b/src/Psalm/Node/Expr/VirtualBooleanNot.php index cadf6a67f19..8b43407d399 100644 --- a/src/Psalm/Node/Expr/VirtualBooleanNot.php +++ b/src/Psalm/Node/Expr/VirtualBooleanNot.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\BooleanNot; use Psalm\Node\VirtualNode; -class VirtualBooleanNot extends BooleanNot implements VirtualNode +final class VirtualBooleanNot extends BooleanNot implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualClassConstFetch.php b/src/Psalm/Node/Expr/VirtualClassConstFetch.php index 7cc8bcc1541..b200ae8406d 100644 --- a/src/Psalm/Node/Expr/VirtualClassConstFetch.php +++ b/src/Psalm/Node/Expr/VirtualClassConstFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ClassConstFetch; use Psalm\Node\VirtualNode; -class VirtualClassConstFetch extends ClassConstFetch implements VirtualNode +final class VirtualClassConstFetch extends ClassConstFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualClone.php b/src/Psalm/Node/Expr/VirtualClone.php index 93c052c1a4c..5cf0379903e 100644 --- a/src/Psalm/Node/Expr/VirtualClone.php +++ b/src/Psalm/Node/Expr/VirtualClone.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Clone_; use Psalm\Node\VirtualNode; -class VirtualClone extends Clone_ implements VirtualNode +final class VirtualClone extends Clone_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualClosure.php b/src/Psalm/Node/Expr/VirtualClosure.php index 9991155c38b..76ae32a565d 100644 --- a/src/Psalm/Node/Expr/VirtualClosure.php +++ b/src/Psalm/Node/Expr/VirtualClosure.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Closure; use Psalm\Node\VirtualNode; -class VirtualClosure extends Closure implements VirtualNode +final class VirtualClosure extends Closure implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualClosureUse.php b/src/Psalm/Node/Expr/VirtualClosureUse.php index 1fce5ac6d95..5fa889c45d9 100644 --- a/src/Psalm/Node/Expr/VirtualClosureUse.php +++ b/src/Psalm/Node/Expr/VirtualClosureUse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ClosureUse; use Psalm\Node\VirtualNode; -class VirtualClosureUse extends ClosureUse implements VirtualNode +final class VirtualClosureUse extends ClosureUse implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualConstFetch.php b/src/Psalm/Node/Expr/VirtualConstFetch.php index 2e241df4373..c774e4718ef 100644 --- a/src/Psalm/Node/Expr/VirtualConstFetch.php +++ b/src/Psalm/Node/Expr/VirtualConstFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ConstFetch; use Psalm\Node\VirtualNode; -class VirtualConstFetch extends ConstFetch implements VirtualNode +final class VirtualConstFetch extends ConstFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualEmpty.php b/src/Psalm/Node/Expr/VirtualEmpty.php index a1e72c9c4ce..18926bf914e 100644 --- a/src/Psalm/Node/Expr/VirtualEmpty.php +++ b/src/Psalm/Node/Expr/VirtualEmpty.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Empty_; use Psalm\Node\VirtualNode; -class VirtualEmpty extends Empty_ implements VirtualNode +final class VirtualEmpty extends Empty_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualError.php b/src/Psalm/Node/Expr/VirtualError.php index 1a4913c04ff..98530a8be87 100644 --- a/src/Psalm/Node/Expr/VirtualError.php +++ b/src/Psalm/Node/Expr/VirtualError.php @@ -13,7 +13,7 @@ * An error node may be placed at a position where an expression is required, but an error occurred. * Error nodes will not be present if the parser is run in throwOnError mode (the default). */ -class VirtualError extends Error implements VirtualNode +final class VirtualError extends Error implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualErrorSuppress.php b/src/Psalm/Node/Expr/VirtualErrorSuppress.php index 2a1d31eac51..809bab6defd 100644 --- a/src/Psalm/Node/Expr/VirtualErrorSuppress.php +++ b/src/Psalm/Node/Expr/VirtualErrorSuppress.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ErrorSuppress; use Psalm\Node\VirtualNode; -class VirtualErrorSuppress extends ErrorSuppress implements VirtualNode +final class VirtualErrorSuppress extends ErrorSuppress implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualEval.php b/src/Psalm/Node/Expr/VirtualEval.php index 6e77cad1f06..11fa4adc926 100644 --- a/src/Psalm/Node/Expr/VirtualEval.php +++ b/src/Psalm/Node/Expr/VirtualEval.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Eval_; use Psalm\Node\VirtualNode; -class VirtualEval extends Eval_ implements VirtualNode +final class VirtualEval extends Eval_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualExit.php b/src/Psalm/Node/Expr/VirtualExit.php index 0a9c25087fe..14ae5a1fbcc 100644 --- a/src/Psalm/Node/Expr/VirtualExit.php +++ b/src/Psalm/Node/Expr/VirtualExit.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Exit_; use Psalm\Node\VirtualNode; -class VirtualExit extends Exit_ implements VirtualNode +final class VirtualExit extends Exit_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualFuncCall.php b/src/Psalm/Node/Expr/VirtualFuncCall.php index 7c27caa3e26..afcdad43e86 100644 --- a/src/Psalm/Node/Expr/VirtualFuncCall.php +++ b/src/Psalm/Node/Expr/VirtualFuncCall.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\FuncCall; use Psalm\Node\VirtualNode; -class VirtualFuncCall extends FuncCall implements VirtualNode +final class VirtualFuncCall extends FuncCall implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualInclude.php b/src/Psalm/Node/Expr/VirtualInclude.php index b1cace68dea..ef561c3ee5f 100644 --- a/src/Psalm/Node/Expr/VirtualInclude.php +++ b/src/Psalm/Node/Expr/VirtualInclude.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Include_; use Psalm\Node\VirtualNode; -class VirtualInclude extends Include_ implements VirtualNode +final class VirtualInclude extends Include_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualInstanceof.php b/src/Psalm/Node/Expr/VirtualInstanceof.php index 5fc6af36036..a5e00901b3c 100644 --- a/src/Psalm/Node/Expr/VirtualInstanceof.php +++ b/src/Psalm/Node/Expr/VirtualInstanceof.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Instanceof_; use Psalm\Node\VirtualNode; -class VirtualInstanceof extends Instanceof_ implements VirtualNode +final class VirtualInstanceof extends Instanceof_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualIsset.php b/src/Psalm/Node/Expr/VirtualIsset.php index 2bb803fa476..cfcdc157633 100644 --- a/src/Psalm/Node/Expr/VirtualIsset.php +++ b/src/Psalm/Node/Expr/VirtualIsset.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Isset_; use Psalm\Node\VirtualNode; -class VirtualIsset extends Isset_ implements VirtualNode +final class VirtualIsset extends Isset_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualList.php b/src/Psalm/Node/Expr/VirtualList.php index 480b913ec17..1d7b49f4cc3 100644 --- a/src/Psalm/Node/Expr/VirtualList.php +++ b/src/Psalm/Node/Expr/VirtualList.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\List_; use Psalm\Node\VirtualNode; -class VirtualList extends List_ implements VirtualNode +final class VirtualList extends List_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualMatch.php b/src/Psalm/Node/Expr/VirtualMatch.php index 4f5f0541456..65c001e4518 100644 --- a/src/Psalm/Node/Expr/VirtualMatch.php +++ b/src/Psalm/Node/Expr/VirtualMatch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Match_; use Psalm\Node\VirtualNode; -class VirtualMatch extends Match_ implements VirtualNode +final class VirtualMatch extends Match_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualMethodCall.php b/src/Psalm/Node/Expr/VirtualMethodCall.php index 98f191c64c0..9362006acef 100644 --- a/src/Psalm/Node/Expr/VirtualMethodCall.php +++ b/src/Psalm/Node/Expr/VirtualMethodCall.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\MethodCall; use Psalm\Node\VirtualNode; -class VirtualMethodCall extends MethodCall implements VirtualNode +final class VirtualMethodCall extends MethodCall implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualNew.php b/src/Psalm/Node/Expr/VirtualNew.php index 72c4a08af85..f211aff3fd6 100644 --- a/src/Psalm/Node/Expr/VirtualNew.php +++ b/src/Psalm/Node/Expr/VirtualNew.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\New_; use Psalm\Node\VirtualNode; -class VirtualNew extends New_ implements VirtualNode +final class VirtualNew extends New_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualNullsafeMethodCall.php b/src/Psalm/Node/Expr/VirtualNullsafeMethodCall.php index 747ae555f54..04a4421e02f 100644 --- a/src/Psalm/Node/Expr/VirtualNullsafeMethodCall.php +++ b/src/Psalm/Node/Expr/VirtualNullsafeMethodCall.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\NullsafeMethodCall; use Psalm\Node\VirtualNode; -class VirtualNullsafeMethodCall extends NullsafeMethodCall implements VirtualNode +final class VirtualNullsafeMethodCall extends NullsafeMethodCall implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualNullsafePropertyFetch.php b/src/Psalm/Node/Expr/VirtualNullsafePropertyFetch.php index d30612c0096..245533d1037 100644 --- a/src/Psalm/Node/Expr/VirtualNullsafePropertyFetch.php +++ b/src/Psalm/Node/Expr/VirtualNullsafePropertyFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\NullsafePropertyFetch; use Psalm\Node\VirtualNode; -class VirtualNullsafePropertyFetch extends NullsafePropertyFetch implements VirtualNode +final class VirtualNullsafePropertyFetch extends NullsafePropertyFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPostDec.php b/src/Psalm/Node/Expr/VirtualPostDec.php index 7958eb331f0..7fd4ef715b2 100644 --- a/src/Psalm/Node/Expr/VirtualPostDec.php +++ b/src/Psalm/Node/Expr/VirtualPostDec.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\PostDec; use Psalm\Node\VirtualNode; -class VirtualPostDec extends PostDec implements VirtualNode +final class VirtualPostDec extends PostDec implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPostInc.php b/src/Psalm/Node/Expr/VirtualPostInc.php index 80b3efe658a..de641407678 100644 --- a/src/Psalm/Node/Expr/VirtualPostInc.php +++ b/src/Psalm/Node/Expr/VirtualPostInc.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\PostInc; use Psalm\Node\VirtualNode; -class VirtualPostInc extends PostInc implements VirtualNode +final class VirtualPostInc extends PostInc implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPreDec.php b/src/Psalm/Node/Expr/VirtualPreDec.php index 4c93efb3049..18092aad4f8 100644 --- a/src/Psalm/Node/Expr/VirtualPreDec.php +++ b/src/Psalm/Node/Expr/VirtualPreDec.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\PreDec; use Psalm\Node\VirtualNode; -class VirtualPreDec extends PreDec implements VirtualNode +final class VirtualPreDec extends PreDec implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPreInc.php b/src/Psalm/Node/Expr/VirtualPreInc.php index 48e81f09d30..fbd0f460525 100644 --- a/src/Psalm/Node/Expr/VirtualPreInc.php +++ b/src/Psalm/Node/Expr/VirtualPreInc.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\PreInc; use Psalm\Node\VirtualNode; -class VirtualPreInc extends PreInc implements VirtualNode +final class VirtualPreInc extends PreInc implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPrint.php b/src/Psalm/Node/Expr/VirtualPrint.php index 61967acff50..6e94f8434c5 100644 --- a/src/Psalm/Node/Expr/VirtualPrint.php +++ b/src/Psalm/Node/Expr/VirtualPrint.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Print_; use Psalm\Node\VirtualNode; -class VirtualPrint extends Print_ implements VirtualNode +final class VirtualPrint extends Print_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualPropertyFetch.php b/src/Psalm/Node/Expr/VirtualPropertyFetch.php index 726da5cfe41..51fd48dc0c9 100644 --- a/src/Psalm/Node/Expr/VirtualPropertyFetch.php +++ b/src/Psalm/Node/Expr/VirtualPropertyFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\PropertyFetch; use Psalm\Node\VirtualNode; -class VirtualPropertyFetch extends PropertyFetch implements VirtualNode +final class VirtualPropertyFetch extends PropertyFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualShellExec.php b/src/Psalm/Node/Expr/VirtualShellExec.php index 5bb8ebfe58b..cadacaa4e4a 100644 --- a/src/Psalm/Node/Expr/VirtualShellExec.php +++ b/src/Psalm/Node/Expr/VirtualShellExec.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\ShellExec; use Psalm\Node\VirtualNode; -class VirtualShellExec extends ShellExec implements VirtualNode +final class VirtualShellExec extends ShellExec implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualStaticCall.php b/src/Psalm/Node/Expr/VirtualStaticCall.php index a778038636a..36b8a7ee27b 100644 --- a/src/Psalm/Node/Expr/VirtualStaticCall.php +++ b/src/Psalm/Node/Expr/VirtualStaticCall.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\StaticCall; use Psalm\Node\VirtualNode; -class VirtualStaticCall extends StaticCall implements VirtualNode +final class VirtualStaticCall extends StaticCall implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualStaticPropertyFetch.php b/src/Psalm/Node/Expr/VirtualStaticPropertyFetch.php index 2eb250e9549..1bef4db54cc 100644 --- a/src/Psalm/Node/Expr/VirtualStaticPropertyFetch.php +++ b/src/Psalm/Node/Expr/VirtualStaticPropertyFetch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\StaticPropertyFetch; use Psalm\Node\VirtualNode; -class VirtualStaticPropertyFetch extends StaticPropertyFetch implements VirtualNode +final class VirtualStaticPropertyFetch extends StaticPropertyFetch implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualTernary.php b/src/Psalm/Node/Expr/VirtualTernary.php index 9fd226a1e4a..c4b18ad1541 100644 --- a/src/Psalm/Node/Expr/VirtualTernary.php +++ b/src/Psalm/Node/Expr/VirtualTernary.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Ternary; use Psalm\Node\VirtualNode; -class VirtualTernary extends Ternary implements VirtualNode +final class VirtualTernary extends Ternary implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualThrow.php b/src/Psalm/Node/Expr/VirtualThrow.php index f6a477261e5..b8a49fc40a1 100644 --- a/src/Psalm/Node/Expr/VirtualThrow.php +++ b/src/Psalm/Node/Expr/VirtualThrow.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Throw_; use Psalm\Node\VirtualNode; -class VirtualThrow extends Throw_ implements VirtualNode +final class VirtualThrow extends Throw_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualUnaryMinus.php b/src/Psalm/Node/Expr/VirtualUnaryMinus.php index 599baf455af..b9ffa3d6500 100644 --- a/src/Psalm/Node/Expr/VirtualUnaryMinus.php +++ b/src/Psalm/Node/Expr/VirtualUnaryMinus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\UnaryMinus; use Psalm\Node\VirtualNode; -class VirtualUnaryMinus extends UnaryMinus implements VirtualNode +final class VirtualUnaryMinus extends UnaryMinus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualUnaryPlus.php b/src/Psalm/Node/Expr/VirtualUnaryPlus.php index f1e6c3de2ba..9beffbe6d10 100644 --- a/src/Psalm/Node/Expr/VirtualUnaryPlus.php +++ b/src/Psalm/Node/Expr/VirtualUnaryPlus.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\UnaryPlus; use Psalm\Node\VirtualNode; -class VirtualUnaryPlus extends UnaryPlus implements VirtualNode +final class VirtualUnaryPlus extends UnaryPlus implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualVariable.php b/src/Psalm/Node/Expr/VirtualVariable.php index b1c5344e74d..06d88cc2073 100644 --- a/src/Psalm/Node/Expr/VirtualVariable.php +++ b/src/Psalm/Node/Expr/VirtualVariable.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Variable; use Psalm\Node\VirtualNode; -class VirtualVariable extends Variable implements VirtualNode +final class VirtualVariable extends Variable implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualYield.php b/src/Psalm/Node/Expr/VirtualYield.php index 7455c68a9d0..06848b40c8e 100644 --- a/src/Psalm/Node/Expr/VirtualYield.php +++ b/src/Psalm/Node/Expr/VirtualYield.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\Yield_; use Psalm\Node\VirtualNode; -class VirtualYield extends Yield_ implements VirtualNode +final class VirtualYield extends Yield_ implements VirtualNode { } diff --git a/src/Psalm/Node/Expr/VirtualYieldFrom.php b/src/Psalm/Node/Expr/VirtualYieldFrom.php index fb7060ba4ed..33b13995d97 100644 --- a/src/Psalm/Node/Expr/VirtualYieldFrom.php +++ b/src/Psalm/Node/Expr/VirtualYieldFrom.php @@ -7,7 +7,7 @@ use PhpParser\Node\Expr\YieldFrom; use Psalm\Node\VirtualNode; -class VirtualYieldFrom extends YieldFrom implements VirtualNode +final class VirtualYieldFrom extends YieldFrom implements VirtualNode { } diff --git a/src/Psalm/Node/Name/VirtualFullyQualified.php b/src/Psalm/Node/Name/VirtualFullyQualified.php index d603628b715..6a9ba82bccc 100644 --- a/src/Psalm/Node/Name/VirtualFullyQualified.php +++ b/src/Psalm/Node/Name/VirtualFullyQualified.php @@ -7,7 +7,7 @@ use PhpParser\Node\Name\FullyQualified; use Psalm\Node\VirtualNode; -class VirtualFullyQualified extends FullyQualified implements VirtualNode +final class VirtualFullyQualified extends FullyQualified implements VirtualNode { } diff --git a/src/Psalm/Node/Name/VirtualRelative.php b/src/Psalm/Node/Name/VirtualRelative.php index a8cf56db3e0..9d401dfd204 100644 --- a/src/Psalm/Node/Name/VirtualRelative.php +++ b/src/Psalm/Node/Name/VirtualRelative.php @@ -7,7 +7,7 @@ use PhpParser\Node\Name\Relative; use Psalm\Node\VirtualNode; -class VirtualRelative extends Relative implements VirtualNode +final class VirtualRelative extends Relative implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualClass.php b/src/Psalm/Node/Scalar/MagicConst/VirtualClass.php index ff8ad182f22..e1ec6c46bbb 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualClass.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualClass.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Class_; use Psalm\Node\VirtualNode; -class VirtualClass extends Class_ implements VirtualNode +final class VirtualClass extends Class_ implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualDir.php b/src/Psalm/Node/Scalar/MagicConst/VirtualDir.php index 053f51688ae..e7a6336ec74 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualDir.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualDir.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Dir; use Psalm\Node\VirtualNode; -class VirtualDir extends Dir implements VirtualNode +final class VirtualDir extends Dir implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualFile.php b/src/Psalm/Node/Scalar/MagicConst/VirtualFile.php index c9f4cdbb656..7953d745e1e 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualFile.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualFile.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\File; use Psalm\Node\VirtualNode; -class VirtualFile extends File implements VirtualNode +final class VirtualFile extends File implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualFunction.php b/src/Psalm/Node/Scalar/MagicConst/VirtualFunction.php index 40fef0330a4..9376740e49a 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualFunction.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualFunction.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Function_; use Psalm\Node\VirtualNode; -class VirtualFunction extends Function_ implements VirtualNode +final class VirtualFunction extends Function_ implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualLine.php b/src/Psalm/Node/Scalar/MagicConst/VirtualLine.php index b1cea721e74..2a625d26106 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualLine.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualLine.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Line; use Psalm\Node\VirtualNode; -class VirtualLine extends Line implements VirtualNode +final class VirtualLine extends Line implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualMethod.php b/src/Psalm/Node/Scalar/MagicConst/VirtualMethod.php index 9298a90b99d..e921ed39750 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualMethod.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualMethod.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Method; use Psalm\Node\VirtualNode; -class VirtualMethod extends Method implements VirtualNode +final class VirtualMethod extends Method implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualNamespace.php b/src/Psalm/Node/Scalar/MagicConst/VirtualNamespace.php index 249a98980ad..62a73ce4758 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualNamespace.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualNamespace.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Namespace_; use Psalm\Node\VirtualNode; -class VirtualNamespace extends Namespace_ implements VirtualNode +final class VirtualNamespace extends Namespace_ implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/MagicConst/VirtualTrait.php b/src/Psalm/Node/Scalar/MagicConst/VirtualTrait.php index 8acb1173def..de453444352 100644 --- a/src/Psalm/Node/Scalar/MagicConst/VirtualTrait.php +++ b/src/Psalm/Node/Scalar/MagicConst/VirtualTrait.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\MagicConst\Trait_; use Psalm\Node\VirtualNode; -class VirtualTrait extends Trait_ implements VirtualNode +final class VirtualTrait extends Trait_ implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/VirtualDNumber.php b/src/Psalm/Node/Scalar/VirtualDNumber.php index a11cb8e0a88..9a95e9b0312 100644 --- a/src/Psalm/Node/Scalar/VirtualDNumber.php +++ b/src/Psalm/Node/Scalar/VirtualDNumber.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\DNumber; use Psalm\Node\VirtualNode; -class VirtualDNumber extends DNumber implements VirtualNode +final class VirtualDNumber extends DNumber implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/VirtualEncapsed.php b/src/Psalm/Node/Scalar/VirtualEncapsed.php index 11ed4416dc3..4e4103f75c6 100644 --- a/src/Psalm/Node/Scalar/VirtualEncapsed.php +++ b/src/Psalm/Node/Scalar/VirtualEncapsed.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\Encapsed; use Psalm\Node\VirtualNode; -class VirtualEncapsed extends Encapsed implements VirtualNode +final class VirtualEncapsed extends Encapsed implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/VirtualEncapsedStringPart.php b/src/Psalm/Node/Scalar/VirtualEncapsedStringPart.php index d740bfefa1c..18849525f1a 100644 --- a/src/Psalm/Node/Scalar/VirtualEncapsedStringPart.php +++ b/src/Psalm/Node/Scalar/VirtualEncapsedStringPart.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\EncapsedStringPart; use Psalm\Node\VirtualNode; -class VirtualEncapsedStringPart extends EncapsedStringPart implements VirtualNode +final class VirtualEncapsedStringPart extends EncapsedStringPart implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/VirtualLNumber.php b/src/Psalm/Node/Scalar/VirtualLNumber.php index 3dad13563ea..b1290faa4ee 100644 --- a/src/Psalm/Node/Scalar/VirtualLNumber.php +++ b/src/Psalm/Node/Scalar/VirtualLNumber.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\LNumber; use Psalm\Node\VirtualNode; -class VirtualLNumber extends LNumber implements VirtualNode +final class VirtualLNumber extends LNumber implements VirtualNode { } diff --git a/src/Psalm/Node/Scalar/VirtualString.php b/src/Psalm/Node/Scalar/VirtualString.php index 32704d61dd7..336eea9bf1e 100644 --- a/src/Psalm/Node/Scalar/VirtualString.php +++ b/src/Psalm/Node/Scalar/VirtualString.php @@ -7,7 +7,7 @@ use PhpParser\Node\Scalar\String_; use Psalm\Node\VirtualNode; -class VirtualString extends String_ implements VirtualNode +final class VirtualString extends String_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualAlias.php b/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualAlias.php index 05ac9cd4ef7..faf44e0bf21 100644 --- a/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualAlias.php +++ b/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualAlias.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\TraitUseAdaptation\Alias; use Psalm\Node\VirtualNode; -class VirtualAlias extends Alias implements VirtualNode +final class VirtualAlias extends Alias implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualPrecedence.php b/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualPrecedence.php index 349f4ecef4a..edf1b880856 100644 --- a/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualPrecedence.php +++ b/src/Psalm/Node/Stmt/TraitUseAdaptation/VirtualPrecedence.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\TraitUseAdaptation\Precedence; use Psalm\Node\VirtualNode; -class VirtualPrecedence extends Precedence implements VirtualNode +final class VirtualPrecedence extends Precedence implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualBreak.php b/src/Psalm/Node/Stmt/VirtualBreak.php index 7444a4307ac..5b28d292dd9 100644 --- a/src/Psalm/Node/Stmt/VirtualBreak.php +++ b/src/Psalm/Node/Stmt/VirtualBreak.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Break_; use Psalm\Node\VirtualNode; -class VirtualBreak extends Break_ implements VirtualNode +final class VirtualBreak extends Break_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualCase.php b/src/Psalm/Node/Stmt/VirtualCase.php index c332b8bba2c..3ee83858aff 100644 --- a/src/Psalm/Node/Stmt/VirtualCase.php +++ b/src/Psalm/Node/Stmt/VirtualCase.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Case_; use Psalm\Node\VirtualNode; -class VirtualCase extends Case_ implements VirtualNode +final class VirtualCase extends Case_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualCatch.php b/src/Psalm/Node/Stmt/VirtualCatch.php index 7e9a77b06de..4b3b4c43ffa 100644 --- a/src/Psalm/Node/Stmt/VirtualCatch.php +++ b/src/Psalm/Node/Stmt/VirtualCatch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Catch_; use Psalm\Node\VirtualNode; -class VirtualCatch extends Catch_ implements VirtualNode +final class VirtualCatch extends Catch_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualClass.php b/src/Psalm/Node/Stmt/VirtualClass.php index 0341c786d9f..77cb3ba4a17 100644 --- a/src/Psalm/Node/Stmt/VirtualClass.php +++ b/src/Psalm/Node/Stmt/VirtualClass.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Class_; use Psalm\Node\VirtualNode; -class VirtualClass extends Class_ implements VirtualNode +final class VirtualClass extends Class_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualClassConst.php b/src/Psalm/Node/Stmt/VirtualClassConst.php index bdda375989a..452ef1ab0c7 100644 --- a/src/Psalm/Node/Stmt/VirtualClassConst.php +++ b/src/Psalm/Node/Stmt/VirtualClassConst.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\ClassConst; use Psalm\Node\VirtualNode; -class VirtualClassConst extends ClassConst implements VirtualNode +final class VirtualClassConst extends ClassConst implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualClassMethod.php b/src/Psalm/Node/Stmt/VirtualClassMethod.php index 3fc0c8e07e2..ca3d36f0f96 100644 --- a/src/Psalm/Node/Stmt/VirtualClassMethod.php +++ b/src/Psalm/Node/Stmt/VirtualClassMethod.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\ClassMethod; use Psalm\Node\VirtualNode; -class VirtualClassMethod extends ClassMethod implements VirtualNode +final class VirtualClassMethod extends ClassMethod implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualConst.php b/src/Psalm/Node/Stmt/VirtualConst.php index f358656407f..f35396833aa 100644 --- a/src/Psalm/Node/Stmt/VirtualConst.php +++ b/src/Psalm/Node/Stmt/VirtualConst.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Const_; use Psalm\Node\VirtualNode; -class VirtualConst extends Const_ implements VirtualNode +final class VirtualConst extends Const_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualContinue.php b/src/Psalm/Node/Stmt/VirtualContinue.php index 99de2121144..63507e4e9ad 100644 --- a/src/Psalm/Node/Stmt/VirtualContinue.php +++ b/src/Psalm/Node/Stmt/VirtualContinue.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Continue_; use Psalm\Node\VirtualNode; -class VirtualContinue extends Continue_ implements VirtualNode +final class VirtualContinue extends Continue_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualDeclare.php b/src/Psalm/Node/Stmt/VirtualDeclare.php index 914994e6bc9..437dd935b3e 100644 --- a/src/Psalm/Node/Stmt/VirtualDeclare.php +++ b/src/Psalm/Node/Stmt/VirtualDeclare.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Declare_; use Psalm\Node\VirtualNode; -class VirtualDeclare extends Declare_ implements VirtualNode +final class VirtualDeclare extends Declare_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualDeclareDeclare.php b/src/Psalm/Node/Stmt/VirtualDeclareDeclare.php index b71c58f3e4b..7dfcc49494f 100644 --- a/src/Psalm/Node/Stmt/VirtualDeclareDeclare.php +++ b/src/Psalm/Node/Stmt/VirtualDeclareDeclare.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\DeclareDeclare; use Psalm\Node\VirtualNode; -class VirtualDeclareDeclare extends DeclareDeclare implements VirtualNode +final class VirtualDeclareDeclare extends DeclareDeclare implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualDo.php b/src/Psalm/Node/Stmt/VirtualDo.php index 730bbe09ce5..88c24a8096e 100644 --- a/src/Psalm/Node/Stmt/VirtualDo.php +++ b/src/Psalm/Node/Stmt/VirtualDo.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Do_; use Psalm\Node\VirtualNode; -class VirtualDo extends Do_ implements VirtualNode +final class VirtualDo extends Do_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualEcho.php b/src/Psalm/Node/Stmt/VirtualEcho.php index d7341366f4f..f170dbadd09 100644 --- a/src/Psalm/Node/Stmt/VirtualEcho.php +++ b/src/Psalm/Node/Stmt/VirtualEcho.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Echo_; use Psalm\Node\VirtualNode; -class VirtualEcho extends Echo_ implements VirtualNode +final class VirtualEcho extends Echo_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualElse.php b/src/Psalm/Node/Stmt/VirtualElse.php index 94e7ad309c8..6e6728d2939 100644 --- a/src/Psalm/Node/Stmt/VirtualElse.php +++ b/src/Psalm/Node/Stmt/VirtualElse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Else_; use Psalm\Node\VirtualNode; -class VirtualElse extends Else_ implements VirtualNode +final class VirtualElse extends Else_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualElseIf.php b/src/Psalm/Node/Stmt/VirtualElseIf.php index 238f3e766a2..1fb8849bf87 100644 --- a/src/Psalm/Node/Stmt/VirtualElseIf.php +++ b/src/Psalm/Node/Stmt/VirtualElseIf.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\ElseIf_; use Psalm\Node\VirtualNode; -class VirtualElseIf extends ElseIf_ implements VirtualNode +final class VirtualElseIf extends ElseIf_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualExpression.php b/src/Psalm/Node/Stmt/VirtualExpression.php index aeeecb02eef..3218b9784b6 100644 --- a/src/Psalm/Node/Stmt/VirtualExpression.php +++ b/src/Psalm/Node/Stmt/VirtualExpression.php @@ -10,7 +10,7 @@ /** * Represents statements of type "expr;" */ -class VirtualExpression extends Expression implements VirtualNode +final class VirtualExpression extends Expression implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualFinally.php b/src/Psalm/Node/Stmt/VirtualFinally.php index fc7f4f991c9..963d24512f3 100644 --- a/src/Psalm/Node/Stmt/VirtualFinally.php +++ b/src/Psalm/Node/Stmt/VirtualFinally.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Finally_; use Psalm\Node\VirtualNode; -class VirtualFinally extends Finally_ implements VirtualNode +final class VirtualFinally extends Finally_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualFor.php b/src/Psalm/Node/Stmt/VirtualFor.php index e748f575a9f..b0e83b162ad 100644 --- a/src/Psalm/Node/Stmt/VirtualFor.php +++ b/src/Psalm/Node/Stmt/VirtualFor.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\For_; use Psalm\Node\VirtualNode; -class VirtualFor extends For_ implements VirtualNode +final class VirtualFor extends For_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualForeach.php b/src/Psalm/Node/Stmt/VirtualForeach.php index 2b384bce634..e0bd33a9ad1 100644 --- a/src/Psalm/Node/Stmt/VirtualForeach.php +++ b/src/Psalm/Node/Stmt/VirtualForeach.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Foreach_; use Psalm\Node\VirtualNode; -class VirtualForeach extends Foreach_ implements VirtualNode +final class VirtualForeach extends Foreach_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualFunction.php b/src/Psalm/Node/Stmt/VirtualFunction.php index b53e53fcaed..47612a7b15c 100644 --- a/src/Psalm/Node/Stmt/VirtualFunction.php +++ b/src/Psalm/Node/Stmt/VirtualFunction.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Function_; use Psalm\Node\VirtualNode; -class VirtualFunction extends Function_ implements VirtualNode +final class VirtualFunction extends Function_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualGlobal.php b/src/Psalm/Node/Stmt/VirtualGlobal.php index bdd258fa702..238115162ec 100644 --- a/src/Psalm/Node/Stmt/VirtualGlobal.php +++ b/src/Psalm/Node/Stmt/VirtualGlobal.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Global_; use Psalm\Node\VirtualNode; -class VirtualGlobal extends Global_ implements VirtualNode +final class VirtualGlobal extends Global_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualGoto.php b/src/Psalm/Node/Stmt/VirtualGoto.php index af14ffeae93..45140bcd9dd 100644 --- a/src/Psalm/Node/Stmt/VirtualGoto.php +++ b/src/Psalm/Node/Stmt/VirtualGoto.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Goto_; use Psalm\Node\VirtualNode; -class VirtualGoto extends Goto_ implements VirtualNode +final class VirtualGoto extends Goto_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualGroupUse.php b/src/Psalm/Node/Stmt/VirtualGroupUse.php index 1f373a39995..fa0e9f410c1 100644 --- a/src/Psalm/Node/Stmt/VirtualGroupUse.php +++ b/src/Psalm/Node/Stmt/VirtualGroupUse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\GroupUse; use Psalm\Node\VirtualNode; -class VirtualGroupUse extends GroupUse implements VirtualNode +final class VirtualGroupUse extends GroupUse implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualHaltCompiler.php b/src/Psalm/Node/Stmt/VirtualHaltCompiler.php index 7b444a03f93..398fa7f340e 100644 --- a/src/Psalm/Node/Stmt/VirtualHaltCompiler.php +++ b/src/Psalm/Node/Stmt/VirtualHaltCompiler.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\HaltCompiler; use Psalm\Node\VirtualNode; -class VirtualHaltCompiler extends HaltCompiler implements VirtualNode +final class VirtualHaltCompiler extends HaltCompiler implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualIf.php b/src/Psalm/Node/Stmt/VirtualIf.php index 93ad441e456..4edd1d2a805 100644 --- a/src/Psalm/Node/Stmt/VirtualIf.php +++ b/src/Psalm/Node/Stmt/VirtualIf.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\If_; use Psalm\Node\VirtualNode; -class VirtualIf extends If_ implements VirtualNode +final class VirtualIf extends If_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualInlineHTML.php b/src/Psalm/Node/Stmt/VirtualInlineHTML.php index 356d6a16294..2c7c708c405 100644 --- a/src/Psalm/Node/Stmt/VirtualInlineHTML.php +++ b/src/Psalm/Node/Stmt/VirtualInlineHTML.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\InlineHTML; use Psalm\Node\VirtualNode; -class VirtualInlineHTML extends InlineHTML implements VirtualNode +final class VirtualInlineHTML extends InlineHTML implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualInterface.php b/src/Psalm/Node/Stmt/VirtualInterface.php index 40e75097ba4..ebb403e5bfb 100644 --- a/src/Psalm/Node/Stmt/VirtualInterface.php +++ b/src/Psalm/Node/Stmt/VirtualInterface.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Interface_; use Psalm\Node\VirtualNode; -class VirtualInterface extends Interface_ implements VirtualNode +final class VirtualInterface extends Interface_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualLabel.php b/src/Psalm/Node/Stmt/VirtualLabel.php index 96170a4ed23..8c56265bf7b 100644 --- a/src/Psalm/Node/Stmt/VirtualLabel.php +++ b/src/Psalm/Node/Stmt/VirtualLabel.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Label; use Psalm\Node\VirtualNode; -class VirtualLabel extends Label implements VirtualNode +final class VirtualLabel extends Label implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualNamespace.php b/src/Psalm/Node/Stmt/VirtualNamespace.php index 6836d578bc6..3eb21be3366 100644 --- a/src/Psalm/Node/Stmt/VirtualNamespace.php +++ b/src/Psalm/Node/Stmt/VirtualNamespace.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Namespace_; use Psalm\Node\VirtualNode; -class VirtualNamespace extends Namespace_ implements VirtualNode +final class VirtualNamespace extends Namespace_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualNop.php b/src/Psalm/Node/Stmt/VirtualNop.php index 4cd84035e8a..1c4137a2300 100644 --- a/src/Psalm/Node/Stmt/VirtualNop.php +++ b/src/Psalm/Node/Stmt/VirtualNop.php @@ -8,7 +8,7 @@ use Psalm\Node\VirtualNode; /** Nop/empty statement (;). */ -class VirtualNop extends Nop implements VirtualNode +final class VirtualNop extends Nop implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualProperty.php b/src/Psalm/Node/Stmt/VirtualProperty.php index a741d691c66..110c992de51 100644 --- a/src/Psalm/Node/Stmt/VirtualProperty.php +++ b/src/Psalm/Node/Stmt/VirtualProperty.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Property; use Psalm\Node\VirtualNode; -class VirtualProperty extends Property implements VirtualNode +final class VirtualProperty extends Property implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualPropertyProperty.php b/src/Psalm/Node/Stmt/VirtualPropertyProperty.php index c96ea93f4e6..5f483bcd319 100644 --- a/src/Psalm/Node/Stmt/VirtualPropertyProperty.php +++ b/src/Psalm/Node/Stmt/VirtualPropertyProperty.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\PropertyProperty; use Psalm\Node\VirtualNode; -class VirtualPropertyProperty extends PropertyProperty implements VirtualNode +final class VirtualPropertyProperty extends PropertyProperty implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualReturn.php b/src/Psalm/Node/Stmt/VirtualReturn.php index 5a92614b5a1..7ad1e9a8436 100644 --- a/src/Psalm/Node/Stmt/VirtualReturn.php +++ b/src/Psalm/Node/Stmt/VirtualReturn.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Return_; use Psalm\Node\VirtualNode; -class VirtualReturn extends Return_ implements VirtualNode +final class VirtualReturn extends Return_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualStatic.php b/src/Psalm/Node/Stmt/VirtualStatic.php index fa24607781c..0d50144c075 100644 --- a/src/Psalm/Node/Stmt/VirtualStatic.php +++ b/src/Psalm/Node/Stmt/VirtualStatic.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Static_; use Psalm\Node\VirtualNode; -class VirtualStatic extends Static_ implements VirtualNode +final class VirtualStatic extends Static_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualStaticVar.php b/src/Psalm/Node/Stmt/VirtualStaticVar.php index 8ed49073cbc..12750ecf846 100644 --- a/src/Psalm/Node/Stmt/VirtualStaticVar.php +++ b/src/Psalm/Node/Stmt/VirtualStaticVar.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\StaticVar; use Psalm\Node\VirtualNode; -class VirtualStaticVar extends StaticVar implements VirtualNode +final class VirtualStaticVar extends StaticVar implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualSwitch.php b/src/Psalm/Node/Stmt/VirtualSwitch.php index 7960a0b9552..33e2241a010 100644 --- a/src/Psalm/Node/Stmt/VirtualSwitch.php +++ b/src/Psalm/Node/Stmt/VirtualSwitch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Switch_; use Psalm\Node\VirtualNode; -class VirtualSwitch extends Switch_ implements VirtualNode +final class VirtualSwitch extends Switch_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualThrow.php b/src/Psalm/Node/Stmt/VirtualThrow.php index c8ce55af75d..304a521bf25 100644 --- a/src/Psalm/Node/Stmt/VirtualThrow.php +++ b/src/Psalm/Node/Stmt/VirtualThrow.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Throw_; use Psalm\Node\VirtualNode; -class VirtualThrow extends Throw_ implements VirtualNode +final class VirtualThrow extends Throw_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualTrait.php b/src/Psalm/Node/Stmt/VirtualTrait.php index 98dd49723e4..81524e9099b 100644 --- a/src/Psalm/Node/Stmt/VirtualTrait.php +++ b/src/Psalm/Node/Stmt/VirtualTrait.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Trait_; use Psalm\Node\VirtualNode; -class VirtualTrait extends Trait_ implements VirtualNode +final class VirtualTrait extends Trait_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualTraitUse.php b/src/Psalm/Node/Stmt/VirtualTraitUse.php index e13d02a4536..0543371142d 100644 --- a/src/Psalm/Node/Stmt/VirtualTraitUse.php +++ b/src/Psalm/Node/Stmt/VirtualTraitUse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\TraitUse; use Psalm\Node\VirtualNode; -class VirtualTraitUse extends TraitUse implements VirtualNode +final class VirtualTraitUse extends TraitUse implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualTryCatch.php b/src/Psalm/Node/Stmt/VirtualTryCatch.php index 2f8a3498d1c..1a7cb4225cc 100644 --- a/src/Psalm/Node/Stmt/VirtualTryCatch.php +++ b/src/Psalm/Node/Stmt/VirtualTryCatch.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\TryCatch; use Psalm\Node\VirtualNode; -class VirtualTryCatch extends TryCatch implements VirtualNode +final class VirtualTryCatch extends TryCatch implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualUnset.php b/src/Psalm/Node/Stmt/VirtualUnset.php index 686eb441ff7..ca7742f3e81 100644 --- a/src/Psalm/Node/Stmt/VirtualUnset.php +++ b/src/Psalm/Node/Stmt/VirtualUnset.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Unset_; use Psalm\Node\VirtualNode; -class VirtualUnset extends Unset_ implements VirtualNode +final class VirtualUnset extends Unset_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualUse.php b/src/Psalm/Node/Stmt/VirtualUse.php index 535b3e8d720..14078a8a113 100644 --- a/src/Psalm/Node/Stmt/VirtualUse.php +++ b/src/Psalm/Node/Stmt/VirtualUse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\Use_; use Psalm\Node\VirtualNode; -class VirtualUse extends Use_ implements VirtualNode +final class VirtualUse extends Use_ implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualUseUse.php b/src/Psalm/Node/Stmt/VirtualUseUse.php index 742b91c8b7e..c56c15fcb5d 100644 --- a/src/Psalm/Node/Stmt/VirtualUseUse.php +++ b/src/Psalm/Node/Stmt/VirtualUseUse.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\UseUse; use Psalm\Node\VirtualNode; -class VirtualUseUse extends UseUse implements VirtualNode +final class VirtualUseUse extends UseUse implements VirtualNode { } diff --git a/src/Psalm/Node/Stmt/VirtualWhile.php b/src/Psalm/Node/Stmt/VirtualWhile.php index fe2cade2286..c3af1aac21c 100644 --- a/src/Psalm/Node/Stmt/VirtualWhile.php +++ b/src/Psalm/Node/Stmt/VirtualWhile.php @@ -7,7 +7,7 @@ use PhpParser\Node\Stmt\While_; use Psalm\Node\VirtualNode; -class VirtualWhile extends While_ implements VirtualNode +final class VirtualWhile extends While_ implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualArg.php b/src/Psalm/Node/VirtualArg.php index 326e70a15b6..043cb2c44a9 100644 --- a/src/Psalm/Node/VirtualArg.php +++ b/src/Psalm/Node/VirtualArg.php @@ -6,7 +6,7 @@ use PhpParser\Node\Arg; -class VirtualArg extends Arg implements VirtualNode +final class VirtualArg extends Arg implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualAttribute.php b/src/Psalm/Node/VirtualAttribute.php index c2e4682321d..0425b92467e 100644 --- a/src/Psalm/Node/VirtualAttribute.php +++ b/src/Psalm/Node/VirtualAttribute.php @@ -6,7 +6,7 @@ use PhpParser\Node\Attribute; -class VirtualAttribute extends Attribute implements VirtualNode +final class VirtualAttribute extends Attribute implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualAttributeGroup.php b/src/Psalm/Node/VirtualAttributeGroup.php index 1b5a88237da..b25e5d8408e 100644 --- a/src/Psalm/Node/VirtualAttributeGroup.php +++ b/src/Psalm/Node/VirtualAttributeGroup.php @@ -6,7 +6,7 @@ use PhpParser\Node\AttributeGroup; -class VirtualAttributeGroup extends AttributeGroup implements VirtualNode +final class VirtualAttributeGroup extends AttributeGroup implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualConst.php b/src/Psalm/Node/VirtualConst.php index bb1c33c4ba9..296fa2083f2 100644 --- a/src/Psalm/Node/VirtualConst.php +++ b/src/Psalm/Node/VirtualConst.php @@ -6,7 +6,7 @@ use PhpParser\Node\Const_; -class VirtualConst extends Const_ implements VirtualNode +final class VirtualConst extends Const_ implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualIdentifier.php b/src/Psalm/Node/VirtualIdentifier.php index 4a5b01f638f..7d134c6938b 100644 --- a/src/Psalm/Node/VirtualIdentifier.php +++ b/src/Psalm/Node/VirtualIdentifier.php @@ -9,7 +9,7 @@ /** * Represents a non-namespaced name. Namespaced names are represented using Name nodes. */ -class VirtualIdentifier extends Identifier implements VirtualNode +final class VirtualIdentifier extends Identifier implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualMatchArm.php b/src/Psalm/Node/VirtualMatchArm.php index d2b499cc10b..2c64fdea4fa 100644 --- a/src/Psalm/Node/VirtualMatchArm.php +++ b/src/Psalm/Node/VirtualMatchArm.php @@ -6,7 +6,7 @@ use PhpParser\Node\MatchArm; -class VirtualMatchArm extends MatchArm implements VirtualNode +final class VirtualMatchArm extends MatchArm implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualName.php b/src/Psalm/Node/VirtualName.php index 57316bf9ad4..95b89920b6d 100644 --- a/src/Psalm/Node/VirtualName.php +++ b/src/Psalm/Node/VirtualName.php @@ -6,7 +6,7 @@ use PhpParser\Node\Name; -class VirtualName extends Name implements VirtualNode +final class VirtualName extends Name implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualNullableType.php b/src/Psalm/Node/VirtualNullableType.php index d77a1b293e0..09d8226c776 100644 --- a/src/Psalm/Node/VirtualNullableType.php +++ b/src/Psalm/Node/VirtualNullableType.php @@ -6,7 +6,7 @@ use PhpParser\Node\NullableType; -class VirtualNullableType extends NullableType implements VirtualNode +final class VirtualNullableType extends NullableType implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualParam.php b/src/Psalm/Node/VirtualParam.php index f44e7ec36f3..fa068e24296 100644 --- a/src/Psalm/Node/VirtualParam.php +++ b/src/Psalm/Node/VirtualParam.php @@ -6,7 +6,7 @@ use PhpParser\Node\Param; -class VirtualParam extends Param implements VirtualNode +final class VirtualParam extends Param implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualUnionType.php b/src/Psalm/Node/VirtualUnionType.php index e45bed5b52b..c207eb7ca00 100644 --- a/src/Psalm/Node/VirtualUnionType.php +++ b/src/Psalm/Node/VirtualUnionType.php @@ -6,7 +6,7 @@ use PhpParser\Node\UnionType; -class VirtualUnionType extends UnionType implements VirtualNode +final class VirtualUnionType extends UnionType implements VirtualNode { } diff --git a/src/Psalm/Node/VirtualVarLikeIdentifier.php b/src/Psalm/Node/VirtualVarLikeIdentifier.php index 03315ec69f4..36a8429e1c3 100644 --- a/src/Psalm/Node/VirtualVarLikeIdentifier.php +++ b/src/Psalm/Node/VirtualVarLikeIdentifier.php @@ -13,7 +13,7 @@ * Examples: Names in property declarations are formatted as variables. Names in static property * lookups are also formatted as variables. */ -class VirtualVarLikeIdentifier extends VarLikeIdentifier implements VirtualNode +final class VirtualVarLikeIdentifier extends VarLikeIdentifier implements VirtualNode { } From 6c587c7a1757995ee70699a6b7167b44b22f1902 Mon Sep 17 00:00:00 2001 From: Bruce Weirdan Date: Mon, 7 Feb 2022 02:10:06 +0200 Subject: [PATCH 2/2] Update UPGRADING.md --- UPGRADING.md | 835 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 499 insertions(+), 336 deletions(-) diff --git a/UPGRADING.md b/UPGRADING.md index 4a5a9f4b847..dd0bf4ce58f 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -223,343 +223,506 @@ - [BC] `Psalm\Config#__construct()` was marked `@internal` - [BC] Class `Psalm\DocComment` became final - All non-abstract issues are now final: - - [BC] Class `Psalm\Issue\InaccessibleProperty` became final - - [BC] Class `Psalm\Issue\TaintedShell` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidIterator` became final - - [BC] Class `Psalm\Issue\MethodSignatureMustOmitReturnType` became final - - [BC] Class `Psalm\Issue\TaintedHtml` became final - - [BC] Class `Psalm\Issue\DuplicateConstant` became final - - [BC] Class `Psalm\Issue\MissingConstructor` became final - - [BC] Class `Psalm\Issue\PossiblyFalseIterator` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedArrayOffset` became final - - [BC] Class `Psalm\Issue\FalseOperand` became final - - [BC] Class `Psalm\Issue\MixedArrayAssignment` became final - - [BC] Class `Psalm\Issue\MixedArrayAccess` became final - - [BC] Class `Psalm\Issue\TaintedUnserialize` became final - - [BC] Class `Psalm\Issue\NullFunctionCall` became final - - [BC] Class `Psalm\Issue\UnusedConstructor` became final - - [BC] Class `Psalm\Issue\InvalidEnumCaseValue` became final - - [BC] Class `Psalm\Issue\MissingClosureReturnType` became final - - [BC] Class `Psalm\Issue\LessSpecificClassConstantType` became final - - [BC] Class `Psalm\Issue\MixedPropertyFetch` became final - - [BC] Class `Psalm\Issue\PossiblyNullArrayAccess` became final - - [BC] Class `Psalm\Issue\MissingPropertyType` became final - - [BC] Class `Psalm\Issue\TaintedCallable` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidMethodCall` became final - - [BC] Class `Psalm\Issue\TaintedHeader` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidArrayAssignment` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidCast` became final - - [BC] Class `Psalm\Issue\ImpurePropertyAssignment` became final - - [BC] Class `Psalm\Issue\MixedPropertyTypeCoercion` became final - - [BC] Class `Psalm\Issue\UnresolvableConstant` became final - - [BC] Class `Psalm\Issue\LoopInvalidation` became final - - [BC] Class `Psalm\Issue\TooManyTemplateParams` became final - - [BC] Class `Psalm\Issue\InvalidCatch` became final - - [BC] Class `Psalm\Issue\MismatchingDocblockReturnType` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedIntArrayOffset` became final - - [BC] Class `Psalm\Issue\NullArrayAccess` became final - - [BC] Class `Psalm\Issue\NoEnumProperties` became final - - [BC] Class `Psalm\Issue\ImpureByReferenceAssignment` became final - - [BC] Class `Psalm\Issue\RedundantConditionGivenDocblockType` became final - - [BC] Class `Psalm\Issue\MixedReturnTypeCoercion` became final - - [BC] Class `Psalm\Issue\PossiblyNullOperand` became final - - [BC] Class `Psalm\Issue\InvalidGlobal` became final - - [BC] Class `Psalm\Issue\PossiblyNullArgument` became final - - [BC] Class `Psalm\Issue\ForbiddenCode` became final - - [BC] Class `Psalm\Issue\RedundantCast` became final - - [BC] Class `Psalm\Issue\UnusedParam` became final - - [BC] Class `Psalm\Issue\DuplicateArrayKey` became final - - [BC] Class `Psalm\Issue\MissingImmutableAnnotation` became final - - [BC] Class `Psalm\Issue\MutableDependency` became final - - [BC] Class `Psalm\Issue\MixedPropertyAssignment` became final - - [BC] Class `Psalm\Issue\DeprecatedTrait` became final - - [BC] Class `Psalm\Issue\InvalidArrayAccess` became final - - [BC] Class `Psalm\Issue\LessSpecificReturnStatement` became final - - [BC] Class `Psalm\Issue\AssignmentToVoid` became final - - [BC] Class `Psalm\Issue\InvalidPropertyAssignment` became final - - [BC] Class `Psalm\Issue\InvalidFalsableReturnType` became final - - [BC] Class `Psalm\Issue\IfThisIsMismatch` became final - - [BC] Class `Psalm\Issue\UndefinedPropertyFetch` became final - - [BC] Class `Psalm\Issue\UndefinedMagicPropertyFetch` became final - - [BC] Class `Psalm\Issue\PossiblyUnusedReturnValue` became final - - [BC] Class `Psalm\Issue\PossiblyNullPropertyFetch` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyFetch` became final - - [BC] Class `Psalm\Issue\MixedClone` became final - - [BC] Class `Psalm\Issue\DuplicateFunction` became final - - [BC] Class `Psalm\Issue\InaccessibleClassConstant` became final - - [BC] Class `Psalm\Issue\UndefinedGlobalVariable` became final - - [BC] Class `Psalm\Issue\ImplicitToStringCast` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidDocblockTag` became final - - [BC] Class `Psalm\Issue\ReservedWord` became final - - [BC] Class `Psalm\Issue\InvalidOperand` became final - - [BC] Class `Psalm\Issue\UnusedProperty` became final - - [BC] Class `Psalm\Issue\UnevaluatedCode` became final - - [BC] Class `Psalm\Issue\NullPropertyFetch` became final - - [BC] Class `Psalm\Issue\ParamNameMismatch` became final - - [BC] Class `Psalm\Issue\CircularReference` became final - - [BC] Class `Psalm\Issue\UndefinedThisPropertyFetch` became final - - [BC] Class `Psalm\Issue\NonStaticSelfCall` became final - - [BC] Class `Psalm\Issue\NullOperand` became final - - [BC] Class `Psalm\Issue\MixedAssignment` became final - - [BC] Class `Psalm\Issue\MixedFunctionCall` became final - - [BC] Class `Psalm\Issue\InvalidTypeImport` became final - - [BC] Class `Psalm\Issue\PossiblyNullArrayOffset` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidArrayOffset` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidArgument` became final - - [BC] Class `Psalm\Issue\UndefinedPropertyAssignment` became final - - [BC] Class `Psalm\Issue\UnusedReturnValue` became final - - [BC] Class `Psalm\Issue\ImpureFunctionCall` became final - - [BC] Class `Psalm\Issue\RedundantFunctionCallGivenDocblockType` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyAssignmentValue` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidOperand` became final - - [BC] Class `Psalm\Issue\ArgumentTypeCoercion` became final - - [BC] Class `Psalm\Issue\OverriddenPropertyAccess` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidArrayAccess` became final - - [BC] Class `Psalm\Issue\UnusedForeachValue` became final - - [BC] Class `Psalm\Issue\ImplementedParamTypeMismatch` became final - - [BC] Class `Psalm\Issue\InvalidConstantAssignmentValue` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedMethod` became final - - [BC] Class `Psalm\Issue\DuplicateEnumCaseValue` became final - - [BC] Class `Psalm\Issue\RawObjectIteration` became final - - [BC] Class `Psalm\Issue\UndefinedVariable` became final - - [BC] Class `Psalm\Issue\MissingDocblockType` became final - - [BC] Class `Psalm\Issue\NullArrayOffset` became final - - [BC] Class `Psalm\Issue\PropertyNotSetInConstructor` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyAssignment` became final - - [BC] Class `Psalm\Issue\PossiblyNullPropertyAssignmentValue` became final - - [BC] Class `Psalm\Issue\UnsafeInstantiation` became final - - [BC] Class `Psalm\Issue\UnimplementedAbstractMethod` became final - - [BC] Class `Psalm\Issue\UnusedClosureParam` became final - - [BC] Class `Psalm\Issue\PossiblyNullFunctionCall` became final - - [BC] Class `Psalm\Issue\UndefinedAttributeClass` became final - - [BC] Class `Psalm\Issue\NullableReturnStatement` became final - - [BC] Class `Psalm\Issue\DuplicateMethod` became final - - [BC] Class `Psalm\Issue\TooFewArguments` became final - - [BC] Class `Psalm\Issue\UndefinedConstant` became final - - [BC] Class `Psalm\Issue\NullReference` became final - - [BC] Class `Psalm\Issue\ImplementedReturnTypeMismatch` became final - - [BC] Class `Psalm\Issue\InvalidEnumBackingType` became final - - [BC] Class `Psalm\Issue\InvalidNullableReturnType` became final - - [BC] Class `Psalm\Issue\ImpureVariable` became final - - [BC] Class `Psalm\Issue\TypeDoesNotContainNull` became final - - [BC] Class `Psalm\Issue\ConstructorSignatureMismatch` became final - - [BC] Class `Psalm\Issue\ImpurePropertyFetch` became final - - [BC] Class `Psalm\Issue\RedundantCastGivenDocblockType` became final - - [BC] Class `Psalm\Issue\PropertyTypeCoercion` became final - - [BC] Class `Psalm\Issue\InvalidDocblockParamName` became final - - [BC] Class `Psalm\Issue\UnsafeGenericInstantiation` became final - - [BC] Class `Psalm\Issue\MissingClosureParamType` became final - - [BC] Class `Psalm\Issue\TraitMethodSignatureMismatch` became final - - [BC] Class `Psalm\Issue\ImpureStaticProperty` became final - - [BC] Class `Psalm\Issue\InvalidThrow` became final - - [BC] Class `Psalm\Issue\ParentNotFound` became final - - [BC] Class `Psalm\Issue\ImpureStaticVariable` became final - - [BC] Class `Psalm\Issue\PossiblyFalseReference` became final - - [BC] Class `Psalm\Issue\ComplexMethod` became final - - [BC] Class `Psalm\Issue\PossiblyNullArrayAssignment` became final - - [BC] Class `Psalm\Issue\AbstractInstantiation` became final - - [BC] Class `Psalm\Issue\UncaughtThrowInGlobalScope` became final - - [BC] Class `Psalm\Issue\MismatchingDocblockPropertyType` became final - - [BC] Class `Psalm\Issue\UnresolvableInclude` became final - - [BC] Class `Psalm\Issue\DocblockTypeContradiction` became final - - [BC] Class `Psalm\Issue\TaintedEval` became final - - [BC] Class `Psalm\Issue\UnusedVariable` became final - - [BC] Class `Psalm\Issue\DeprecatedConstant` became final - - [BC] Class `Psalm\Issue\TaintedSystemSecret` became final - - [BC] Class `Psalm\Issue\EmptyArrayAccess` became final - - [BC] Class `Psalm\Issue\UndefinedInterface` became final - - [BC] Class `Psalm\Issue\MixedInferredReturnType` became final - - [BC] Class `Psalm\Issue\TaintedCookie` became final - - [BC] Class `Psalm\Issue\UndefinedMagicPropertyAssignment` became final - - [BC] Class `Psalm\Issue\NamedArgumentNotAllowed` became final - - [BC] Class `Psalm\Issue\MethodSignatureMustProvideReturnType` became final - - [BC] Class `Psalm\Issue\MissingParamType` became final - - [BC] Class `Psalm\Issue\InvalidArrayAssignment` became final - - [BC] Class `Psalm\Issue\UnimplementedInterfaceMethod` became final - - [BC] Class `Psalm\Issue\InvalidPassByReference` became final - - [BC] Class `Psalm\Issue\MissingDependency` became final - - [BC] Class `Psalm\Issue\ReferenceConstraintViolation` became final - - [BC] Class `Psalm\Issue\TaintedLdap` became final - - [BC] Class `Psalm\Issue\PossiblyNullIterator` became final - - [BC] Class `Psalm\Issue\InvalidScalarArgument` became final - - [BC] Class `Psalm\Issue\DeprecatedMethod` became final - - [BC] Class `Psalm\Issue\NullPropertyAssignment` became final - - [BC] Class `Psalm\Issue\InvalidExtendClass` became final - - [BC] Class `Psalm\Issue\DeprecatedClass` became final - - [BC] Class `Psalm\Issue\ReferenceReusedFromConfusingScope` became final - - [BC] Class `Psalm\Issue\UndefinedFunction` became final - - [BC] Class `Psalm\Issue\LessSpecificImplementedReturnType` became final - - [BC] Class `Psalm\Issue\NullIterator` became final - - [BC] Class `Psalm\Issue\TaintedInclude` became final - - [BC] Class `Psalm\Issue\UnusedMethodCall` became final - - [BC] Class `Psalm\Issue\InvalidIterator` became final - - [BC] Class `Psalm\Issue\PsalmInternalError` became final - - [BC] Class `Psalm\Issue\InvalidParent` became final - - [BC] Class `Psalm\Issue\AmbiguousConstantInheritance` became final - - [BC] Class `Psalm\Issue\InvalidLiteralArgument` became final - - [BC] Class `Psalm\Issue\MixedReturnStatement` became final - - [BC] Class `Psalm\Issue\AbstractMethodCall` became final - - [BC] Class `Psalm\Issue\InvalidClone` became final - - [BC] Class `Psalm\Issue\DuplicateEnumCase` became final - - [BC] Class `Psalm\Issue\InvalidDocblock` became final - - [BC] Class `Psalm\Issue\RedundantIdentityWithTrue` became final - - [BC] Class `Psalm\Issue\MissingReturnType` became final - - [BC] Class `Psalm\Issue\RedundantCondition` became final - - [BC] Class `Psalm\Issue\UnnecessaryVarAnnotation` became final - - [BC] Class `Psalm\Issue\ConfigIssue` became final - - [BC] Class `Psalm\Issue\InternalClass` became final - - [BC] Class `Psalm\Issue\UndefinedDocblockClass` became final - - [BC] Class `Psalm\Issue\DuplicateParam` became final - - [BC] Class `Psalm\Issue\MismatchingDocblockParamType` became final - - [BC] Class `Psalm\Issue\LessSpecificReturnType` became final - - [BC] Class `Psalm\Issue\PossiblyUnusedProperty` became final - - [BC] Class `Psalm\Issue\PossiblyNullReference` became final - - [BC] Class `Psalm\Issue\MissingFile` became final - - [BC] Class `Psalm\Issue\InvalidArgument` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedGlobalVariable` became final - - [BC] Class `Psalm\Issue\UndefinedThisPropertyAssignment` became final - - [BC] Class `Psalm\Issue\ConflictingReferenceConstraint` became final - - [BC] Class `Psalm\Issue\InvalidCast` became final - - [BC] Class `Psalm\Issue\MoreSpecificReturnType` became final - - [BC] Class `Psalm\Issue\ImpureMethodCall` became final - - [BC] Class `Psalm\Issue\UnrecognizedExpression` became final - - [BC] Class `Psalm\Issue\NoValue` became final - - [BC] Class `Psalm\Issue\DeprecatedInterface` became final - - [BC] Class `Psalm\Issue\InvalidStringClass` became final - - [BC] Class `Psalm\Issue\MixedMethodCall` became final - - [BC] Class `Psalm\Issue\UndefinedMagicMethod` became final - - [BC] Class `Psalm\Issue\MissingThrowsDocblock` became final - - [BC] Class `Psalm\Issue\TaintedTextWithQuotes` became final - - [BC] Class `Psalm\Issue\InvalidReturnStatement` became final - - [BC] Class `Psalm\Issue\DeprecatedFunction` became final - - [BC] Class `Psalm\Issue\InterfaceInstantiation` became final - - [BC] Class `Psalm\Issue\TooManyArguments` became final - - [BC] Class `Psalm\Issue\PossibleRawObjectIteration` became final - - [BC] Class `Psalm\Issue\PossiblyFalsePropertyAssignmentValue` became final - - [BC] Class `Psalm\Issue\FalsableReturnStatement` became final - - [BC] Class `Psalm\Issue\RedundantFunctionCall` became final - - [BC] Class `Psalm\Issue\ImplementationRequirementViolation` became final - - [BC] Class `Psalm\Issue\InternalMethod` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidFunctionCall` became final - - [BC] Class `Psalm\Issue\OverriddenMethodAccess` became final - - [BC] Class `Psalm\Issue\MixedArgumentTypeCoercion` became final - - [BC] Class `Psalm\Issue\InvalidAttribute` became final - - [BC] Class `Psalm\Issue\UndefinedInterfaceMethod` became final - - [BC] Class `Psalm\Issue\InvalidPropertyFetch` became final - - [BC] Class `Psalm\Issue\PossiblyUnusedMethod` became final - - [BC] Class `Psalm\Issue\UndefinedTrace` became final - - [BC] Class `Psalm\Issue\NullArgument` became final - - [BC] Class `Psalm\Issue\UndefinedMethod` became final - - [BC] Class `Psalm\Issue\TaintedUserSecret` became final - - [BC] Class `Psalm\Issue\UndefinedTrait` became final - - [BC] Class `Psalm\Issue\UnusedClass` became final - - [BC] Class `Psalm\Issue\StringIncrement` became final - - [BC] Class `Psalm\Issue\InaccessibleMethod` became final - - [BC] Class `Psalm\Issue\PossiblyUnusedParam` became final - - [BC] Class `Psalm\Issue\Trace` became final - - [BC] Class `Psalm\Issue\UnhandledMatchCondition` became final - - [BC] Class `Psalm\Issue\DuplicateClass` became final - - [BC] Class `Psalm\Issue\InvalidClass` became final - - [BC] Class `Psalm\Issue\TypeDoesNotContainType` became final - - [BC] Class `Psalm\Issue\InvalidScope` became final - - [BC] Class `Psalm\Issue\TaintedCustom` became final - - [BC] Class `Psalm\Issue\TaintedSSRF` became final - - [BC] Class `Psalm\Issue\InvalidNamedArgument` became final - - [BC] Class `Psalm\Issue\InvalidPropertyAssignmentValue` became final - - [BC] Class `Psalm\Issue\ContinueOutsideLoop` became final - - [BC] Class `Psalm\Issue\MixedArgument` became final - - [BC] Class `Psalm\Issue\TaintedSql` became final - - [BC] Class `Psalm\Issue\UnusedFunctionCall` became final - - [BC] Class `Psalm\Issue\InternalProperty` became final - - [BC] Class `Psalm\Issue\InvalidParamDefault` became final - - [BC] Class `Psalm\Issue\RedundantPropertyInitializationCheck` became final - - [BC] Class `Psalm\Issue\InvalidTraversableImplementation` became final - - [BC] Class `Psalm\Issue\InvalidTemplateParam` became final - - [BC] Class `Psalm\Issue\InvalidStaticInvocation` became final - - [BC] Class `Psalm\Issue\MixedArrayOffset` became final - - [BC] Class `Psalm\Issue\PossiblyInvalidClone` became final - - [BC] Class `Psalm\Issue\InvalidFunctionCall` became final - - [BC] Class `Psalm\Issue\InvalidMethodCall` became final - - [BC] Class `Psalm\Issue\ComplexFunction` became final - - [BC] Class `Psalm\Issue\UnusedPsalmSuppress` became final - - [BC] Class `Psalm\Issue\MixedStringOffsetAssignment` became final - - [BC] Class `Psalm\Issue\UnrecognizedStatement` became final - - [BC] Class `Psalm\Issue\TaintedFile` became final - - [BC] Class `Psalm\Issue\UnusedMethod` became final - - [BC] Class `Psalm\Issue\PossiblyFalseArgument` became final - - [BC] Class `Psalm\Issue\DeprecatedProperty` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedVariable` became final - - [BC] Class `Psalm\Issue\PossiblyNullPropertyAssignment` became final - - [BC] Class `Psalm\Issue\MixedOperand` became final - - [BC] Class `Psalm\Issue\NoInterfaceProperties` became final - - [BC] Class `Psalm\Issue\InvalidReturnType` became final - - [BC] Class `Psalm\Issue\MixedArrayTypeCoercion` became final - - [BC] Class `Psalm\Issue\ParadoxicalCondition` became final - - [BC] Class `Psalm\Issue\InvalidToString` became final - - [BC] Class `Psalm\Issue\MethodSignatureMismatch` became final - - [BC] Class `Psalm\Issue\PossiblyFalseOperand` became final - - [BC] Class `Psalm\Issue\UndefinedClass` became final - - [BC] Class `Psalm\Issue\OverriddenInterfaceConstant` became final - - [BC] Class `Psalm\Issue\MissingTemplateParam` became final - - [BC] Class `Psalm\Issue\InvalidArrayOffset` became final - - [BC] Class `Psalm\Issue\MoreSpecificImplementedParamType` became final - - [BC] Class `Psalm\Issue\UninitializedProperty` became final - - [BC] Class `Psalm\Issue\ParseError` became final - - [BC] Class `Psalm\Issue\PossiblyUndefinedStringArrayOffset` became final - - [BC] Class `Psalm\Issue\ExtensionRequirementViolation` became final + - [BC] Class `Psalm\Issue\InaccessibleProperty` became final + - [BC] Class `Psalm\Issue\TaintedShell` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidIterator` became final + - [BC] Class `Psalm\Issue\MethodSignatureMustOmitReturnType` became final + - [BC] Class `Psalm\Issue\TaintedHtml` became final + - [BC] Class `Psalm\Issue\DuplicateConstant` became final + - [BC] Class `Psalm\Issue\MissingConstructor` became final + - [BC] Class `Psalm\Issue\PossiblyFalseIterator` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedArrayOffset` became final + - [BC] Class `Psalm\Issue\FalseOperand` became final + - [BC] Class `Psalm\Issue\MixedArrayAssignment` became final + - [BC] Class `Psalm\Issue\MixedArrayAccess` became final + - [BC] Class `Psalm\Issue\TaintedUnserialize` became final + - [BC] Class `Psalm\Issue\NullFunctionCall` became final + - [BC] Class `Psalm\Issue\UnusedConstructor` became final + - [BC] Class `Psalm\Issue\InvalidEnumCaseValue` became final + - [BC] Class `Psalm\Issue\MissingClosureReturnType` became final + - [BC] Class `Psalm\Issue\LessSpecificClassConstantType` became final + - [BC] Class `Psalm\Issue\MixedPropertyFetch` became final + - [BC] Class `Psalm\Issue\PossiblyNullArrayAccess` became final + - [BC] Class `Psalm\Issue\MissingPropertyType` became final + - [BC] Class `Psalm\Issue\TaintedCallable` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidMethodCall` became final + - [BC] Class `Psalm\Issue\TaintedHeader` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidArrayAssignment` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidCast` became final + - [BC] Class `Psalm\Issue\ImpurePropertyAssignment` became final + - [BC] Class `Psalm\Issue\MixedPropertyTypeCoercion` became final + - [BC] Class `Psalm\Issue\UnresolvableConstant` became final + - [BC] Class `Psalm\Issue\LoopInvalidation` became final + - [BC] Class `Psalm\Issue\TooManyTemplateParams` became final + - [BC] Class `Psalm\Issue\InvalidCatch` became final + - [BC] Class `Psalm\Issue\MismatchingDocblockReturnType` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedIntArrayOffset` became final + - [BC] Class `Psalm\Issue\NullArrayAccess` became final + - [BC] Class `Psalm\Issue\NoEnumProperties` became final + - [BC] Class `Psalm\Issue\ImpureByReferenceAssignment` became final + - [BC] Class `Psalm\Issue\RedundantConditionGivenDocblockType` became final + - [BC] Class `Psalm\Issue\MixedReturnTypeCoercion` became final + - [BC] Class `Psalm\Issue\PossiblyNullOperand` became final + - [BC] Class `Psalm\Issue\InvalidGlobal` became final + - [BC] Class `Psalm\Issue\PossiblyNullArgument` became final + - [BC] Class `Psalm\Issue\ForbiddenCode` became final + - [BC] Class `Psalm\Issue\RedundantCast` became final + - [BC] Class `Psalm\Issue\UnusedParam` became final + - [BC] Class `Psalm\Issue\DuplicateArrayKey` became final + - [BC] Class `Psalm\Issue\MissingImmutableAnnotation` became final + - [BC] Class `Psalm\Issue\MutableDependency` became final + - [BC] Class `Psalm\Issue\MixedPropertyAssignment` became final + - [BC] Class `Psalm\Issue\DeprecatedTrait` became final + - [BC] Class `Psalm\Issue\InvalidArrayAccess` became final + - [BC] Class `Psalm\Issue\LessSpecificReturnStatement` became final + - [BC] Class `Psalm\Issue\AssignmentToVoid` became final + - [BC] Class `Psalm\Issue\InvalidPropertyAssignment` became final + - [BC] Class `Psalm\Issue\InvalidFalsableReturnType` became final + - [BC] Class `Psalm\Issue\IfThisIsMismatch` became final + - [BC] Class `Psalm\Issue\UndefinedPropertyFetch` became final + - [BC] Class `Psalm\Issue\UndefinedMagicPropertyFetch` became final + - [BC] Class `Psalm\Issue\PossiblyUnusedReturnValue` became final + - [BC] Class `Psalm\Issue\PossiblyNullPropertyFetch` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyFetch` became final + - [BC] Class `Psalm\Issue\MixedClone` became final + - [BC] Class `Psalm\Issue\DuplicateFunction` became final + - [BC] Class `Psalm\Issue\InaccessibleClassConstant` became final + - [BC] Class `Psalm\Issue\UndefinedGlobalVariable` became final + - [BC] Class `Psalm\Issue\ImplicitToStringCast` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidDocblockTag` became final + - [BC] Class `Psalm\Issue\ReservedWord` became final + - [BC] Class `Psalm\Issue\InvalidOperand` became final + - [BC] Class `Psalm\Issue\UnusedProperty` became final + - [BC] Class `Psalm\Issue\UnevaluatedCode` became final + - [BC] Class `Psalm\Issue\NullPropertyFetch` became final + - [BC] Class `Psalm\Issue\ParamNameMismatch` became final + - [BC] Class `Psalm\Issue\CircularReference` became final + - [BC] Class `Psalm\Issue\UndefinedThisPropertyFetch` became final + - [BC] Class `Psalm\Issue\NonStaticSelfCall` became final + - [BC] Class `Psalm\Issue\NullOperand` became final + - [BC] Class `Psalm\Issue\MixedAssignment` became final + - [BC] Class `Psalm\Issue\MixedFunctionCall` became final + - [BC] Class `Psalm\Issue\InvalidTypeImport` became final + - [BC] Class `Psalm\Issue\PossiblyNullArrayOffset` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidArrayOffset` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidArgument` became final + - [BC] Class `Psalm\Issue\UndefinedPropertyAssignment` became final + - [BC] Class `Psalm\Issue\UnusedReturnValue` became final + - [BC] Class `Psalm\Issue\ImpureFunctionCall` became final + - [BC] Class `Psalm\Issue\RedundantFunctionCallGivenDocblockType` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyAssignmentValue` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidOperand` became final + - [BC] Class `Psalm\Issue\ArgumentTypeCoercion` became final + - [BC] Class `Psalm\Issue\OverriddenPropertyAccess` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidArrayAccess` became final + - [BC] Class `Psalm\Issue\UnusedForeachValue` became final + - [BC] Class `Psalm\Issue\ImplementedParamTypeMismatch` became final + - [BC] Class `Psalm\Issue\InvalidConstantAssignmentValue` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedMethod` became final + - [BC] Class `Psalm\Issue\DuplicateEnumCaseValue` became final + - [BC] Class `Psalm\Issue\RawObjectIteration` became final + - [BC] Class `Psalm\Issue\UndefinedVariable` became final + - [BC] Class `Psalm\Issue\MissingDocblockType` became final + - [BC] Class `Psalm\Issue\NullArrayOffset` became final + - [BC] Class `Psalm\Issue\PropertyNotSetInConstructor` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidPropertyAssignment` became final + - [BC] Class `Psalm\Issue\PossiblyNullPropertyAssignmentValue` became final + - [BC] Class `Psalm\Issue\UnsafeInstantiation` became final + - [BC] Class `Psalm\Issue\UnimplementedAbstractMethod` became final + - [BC] Class `Psalm\Issue\UnusedClosureParam` became final + - [BC] Class `Psalm\Issue\PossiblyNullFunctionCall` became final + - [BC] Class `Psalm\Issue\UndefinedAttributeClass` became final + - [BC] Class `Psalm\Issue\NullableReturnStatement` became final + - [BC] Class `Psalm\Issue\DuplicateMethod` became final + - [BC] Class `Psalm\Issue\TooFewArguments` became final + - [BC] Class `Psalm\Issue\UndefinedConstant` became final + - [BC] Class `Psalm\Issue\NullReference` became final + - [BC] Class `Psalm\Issue\ImplementedReturnTypeMismatch` became final + - [BC] Class `Psalm\Issue\InvalidEnumBackingType` became final + - [BC] Class `Psalm\Issue\InvalidNullableReturnType` became final + - [BC] Class `Psalm\Issue\ImpureVariable` became final + - [BC] Class `Psalm\Issue\TypeDoesNotContainNull` became final + - [BC] Class `Psalm\Issue\ConstructorSignatureMismatch` became final + - [BC] Class `Psalm\Issue\ImpurePropertyFetch` became final + - [BC] Class `Psalm\Issue\RedundantCastGivenDocblockType` became final + - [BC] Class `Psalm\Issue\PropertyTypeCoercion` became final + - [BC] Class `Psalm\Issue\InvalidDocblockParamName` became final + - [BC] Class `Psalm\Issue\UnsafeGenericInstantiation` became final + - [BC] Class `Psalm\Issue\MissingClosureParamType` became final + - [BC] Class `Psalm\Issue\TraitMethodSignatureMismatch` became final + - [BC] Class `Psalm\Issue\ImpureStaticProperty` became final + - [BC] Class `Psalm\Issue\InvalidThrow` became final + - [BC] Class `Psalm\Issue\ParentNotFound` became final + - [BC] Class `Psalm\Issue\ImpureStaticVariable` became final + - [BC] Class `Psalm\Issue\PossiblyFalseReference` became final + - [BC] Class `Psalm\Issue\ComplexMethod` became final + - [BC] Class `Psalm\Issue\PossiblyNullArrayAssignment` became final + - [BC] Class `Psalm\Issue\AbstractInstantiation` became final + - [BC] Class `Psalm\Issue\UncaughtThrowInGlobalScope` became final + - [BC] Class `Psalm\Issue\MismatchingDocblockPropertyType` became final + - [BC] Class `Psalm\Issue\UnresolvableInclude` became final + - [BC] Class `Psalm\Issue\DocblockTypeContradiction` became final + - [BC] Class `Psalm\Issue\TaintedEval` became final + - [BC] Class `Psalm\Issue\UnusedVariable` became final + - [BC] Class `Psalm\Issue\DeprecatedConstant` became final + - [BC] Class `Psalm\Issue\TaintedSystemSecret` became final + - [BC] Class `Psalm\Issue\EmptyArrayAccess` became final + - [BC] Class `Psalm\Issue\UndefinedInterface` became final + - [BC] Class `Psalm\Issue\MixedInferredReturnType` became final + - [BC] Class `Psalm\Issue\TaintedCookie` became final + - [BC] Class `Psalm\Issue\UndefinedMagicPropertyAssignment` became final + - [BC] Class `Psalm\Issue\NamedArgumentNotAllowed` became final + - [BC] Class `Psalm\Issue\MethodSignatureMustProvideReturnType` became final + - [BC] Class `Psalm\Issue\MissingParamType` became final + - [BC] Class `Psalm\Issue\InvalidArrayAssignment` became final + - [BC] Class `Psalm\Issue\UnimplementedInterfaceMethod` became final + - [BC] Class `Psalm\Issue\InvalidPassByReference` became final + - [BC] Class `Psalm\Issue\MissingDependency` became final + - [BC] Class `Psalm\Issue\ReferenceConstraintViolation` became final + - [BC] Class `Psalm\Issue\TaintedLdap` became final + - [BC] Class `Psalm\Issue\PossiblyNullIterator` became final + - [BC] Class `Psalm\Issue\InvalidScalarArgument` became final + - [BC] Class `Psalm\Issue\DeprecatedMethod` became final + - [BC] Class `Psalm\Issue\NullPropertyAssignment` became final + - [BC] Class `Psalm\Issue\InvalidExtendClass` became final + - [BC] Class `Psalm\Issue\DeprecatedClass` became final + - [BC] Class `Psalm\Issue\ReferenceReusedFromConfusingScope` became final + - [BC] Class `Psalm\Issue\UndefinedFunction` became final + - [BC] Class `Psalm\Issue\LessSpecificImplementedReturnType` became final + - [BC] Class `Psalm\Issue\NullIterator` became final + - [BC] Class `Psalm\Issue\TaintedInclude` became final + - [BC] Class `Psalm\Issue\UnusedMethodCall` became final + - [BC] Class `Psalm\Issue\InvalidIterator` became final + - [BC] Class `Psalm\Issue\PsalmInternalError` became final + - [BC] Class `Psalm\Issue\InvalidParent` became final + - [BC] Class `Psalm\Issue\AmbiguousConstantInheritance` became final + - [BC] Class `Psalm\Issue\InvalidLiteralArgument` became final + - [BC] Class `Psalm\Issue\MixedReturnStatement` became final + - [BC] Class `Psalm\Issue\AbstractMethodCall` became final + - [BC] Class `Psalm\Issue\InvalidClone` became final + - [BC] Class `Psalm\Issue\DuplicateEnumCase` became final + - [BC] Class `Psalm\Issue\InvalidDocblock` became final + - [BC] Class `Psalm\Issue\RedundantIdentityWithTrue` became final + - [BC] Class `Psalm\Issue\MissingReturnType` became final + - [BC] Class `Psalm\Issue\RedundantCondition` became final + - [BC] Class `Psalm\Issue\UnnecessaryVarAnnotation` became final + - [BC] Class `Psalm\Issue\ConfigIssue` became final + - [BC] Class `Psalm\Issue\InternalClass` became final + - [BC] Class `Psalm\Issue\UndefinedDocblockClass` became final + - [BC] Class `Psalm\Issue\DuplicateParam` became final + - [BC] Class `Psalm\Issue\MismatchingDocblockParamType` became final + - [BC] Class `Psalm\Issue\LessSpecificReturnType` became final + - [BC] Class `Psalm\Issue\PossiblyUnusedProperty` became final + - [BC] Class `Psalm\Issue\PossiblyNullReference` became final + - [BC] Class `Psalm\Issue\MissingFile` became final + - [BC] Class `Psalm\Issue\InvalidArgument` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedGlobalVariable` became final + - [BC] Class `Psalm\Issue\UndefinedThisPropertyAssignment` became final + - [BC] Class `Psalm\Issue\ConflictingReferenceConstraint` became final + - [BC] Class `Psalm\Issue\InvalidCast` became final + - [BC] Class `Psalm\Issue\MoreSpecificReturnType` became final + - [BC] Class `Psalm\Issue\ImpureMethodCall` became final + - [BC] Class `Psalm\Issue\UnrecognizedExpression` became final + - [BC] Class `Psalm\Issue\NoValue` became final + - [BC] Class `Psalm\Issue\DeprecatedInterface` became final + - [BC] Class `Psalm\Issue\InvalidStringClass` became final + - [BC] Class `Psalm\Issue\MixedMethodCall` became final + - [BC] Class `Psalm\Issue\UndefinedMagicMethod` became final + - [BC] Class `Psalm\Issue\MissingThrowsDocblock` became final + - [BC] Class `Psalm\Issue\TaintedTextWithQuotes` became final + - [BC] Class `Psalm\Issue\InvalidReturnStatement` became final + - [BC] Class `Psalm\Issue\DeprecatedFunction` became final + - [BC] Class `Psalm\Issue\InterfaceInstantiation` became final + - [BC] Class `Psalm\Issue\TooManyArguments` became final + - [BC] Class `Psalm\Issue\PossibleRawObjectIteration` became final + - [BC] Class `Psalm\Issue\PossiblyFalsePropertyAssignmentValue` became final + - [BC] Class `Psalm\Issue\FalsableReturnStatement` became final + - [BC] Class `Psalm\Issue\RedundantFunctionCall` became final + - [BC] Class `Psalm\Issue\ImplementationRequirementViolation` became final + - [BC] Class `Psalm\Issue\InternalMethod` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidFunctionCall` became final + - [BC] Class `Psalm\Issue\OverriddenMethodAccess` became final + - [BC] Class `Psalm\Issue\MixedArgumentTypeCoercion` became final + - [BC] Class `Psalm\Issue\InvalidAttribute` became final + - [BC] Class `Psalm\Issue\UndefinedInterfaceMethod` became final + - [BC] Class `Psalm\Issue\InvalidPropertyFetch` became final + - [BC] Class `Psalm\Issue\PossiblyUnusedMethod` became final + - [BC] Class `Psalm\Issue\UndefinedTrace` became final + - [BC] Class `Psalm\Issue\NullArgument` became final + - [BC] Class `Psalm\Issue\UndefinedMethod` became final + - [BC] Class `Psalm\Issue\TaintedUserSecret` became final + - [BC] Class `Psalm\Issue\UndefinedTrait` became final + - [BC] Class `Psalm\Issue\UnusedClass` became final + - [BC] Class `Psalm\Issue\StringIncrement` became final + - [BC] Class `Psalm\Issue\InaccessibleMethod` became final + - [BC] Class `Psalm\Issue\PossiblyUnusedParam` became final + - [BC] Class `Psalm\Issue\Trace` became final + - [BC] Class `Psalm\Issue\UnhandledMatchCondition` became final + - [BC] Class `Psalm\Issue\DuplicateClass` became final + - [BC] Class `Psalm\Issue\InvalidClass` became final + - [BC] Class `Psalm\Issue\TypeDoesNotContainType` became final + - [BC] Class `Psalm\Issue\InvalidScope` became final + - [BC] Class `Psalm\Issue\TaintedCustom` became final + - [BC] Class `Psalm\Issue\TaintedSSRF` became final + - [BC] Class `Psalm\Issue\InvalidNamedArgument` became final + - [BC] Class `Psalm\Issue\InvalidPropertyAssignmentValue` became final + - [BC] Class `Psalm\Issue\ContinueOutsideLoop` became final + - [BC] Class `Psalm\Issue\MixedArgument` became final + - [BC] Class `Psalm\Issue\TaintedSql` became final + - [BC] Class `Psalm\Issue\UnusedFunctionCall` became final + - [BC] Class `Psalm\Issue\InternalProperty` became final + - [BC] Class `Psalm\Issue\InvalidParamDefault` became final + - [BC] Class `Psalm\Issue\RedundantPropertyInitializationCheck` became final + - [BC] Class `Psalm\Issue\InvalidTraversableImplementation` became final + - [BC] Class `Psalm\Issue\InvalidTemplateParam` became final + - [BC] Class `Psalm\Issue\InvalidStaticInvocation` became final + - [BC] Class `Psalm\Issue\MixedArrayOffset` became final + - [BC] Class `Psalm\Issue\PossiblyInvalidClone` became final + - [BC] Class `Psalm\Issue\InvalidFunctionCall` became final + - [BC] Class `Psalm\Issue\InvalidMethodCall` became final + - [BC] Class `Psalm\Issue\ComplexFunction` became final + - [BC] Class `Psalm\Issue\UnusedPsalmSuppress` became final + - [BC] Class `Psalm\Issue\MixedStringOffsetAssignment` became final + - [BC] Class `Psalm\Issue\UnrecognizedStatement` became final + - [BC] Class `Psalm\Issue\TaintedFile` became final + - [BC] Class `Psalm\Issue\UnusedMethod` became final + - [BC] Class `Psalm\Issue\PossiblyFalseArgument` became final + - [BC] Class `Psalm\Issue\DeprecatedProperty` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedVariable` became final + - [BC] Class `Psalm\Issue\PossiblyNullPropertyAssignment` became final + - [BC] Class `Psalm\Issue\MixedOperand` became final + - [BC] Class `Psalm\Issue\NoInterfaceProperties` became final + - [BC] Class `Psalm\Issue\InvalidReturnType` became final + - [BC] Class `Psalm\Issue\MixedArrayTypeCoercion` became final + - [BC] Class `Psalm\Issue\ParadoxicalCondition` became final + - [BC] Class `Psalm\Issue\InvalidToString` became final + - [BC] Class `Psalm\Issue\MethodSignatureMismatch` became final + - [BC] Class `Psalm\Issue\PossiblyFalseOperand` became final + - [BC] Class `Psalm\Issue\UndefinedClass` became final + - [BC] Class `Psalm\Issue\OverriddenInterfaceConstant` became final + - [BC] Class `Psalm\Issue\MissingTemplateParam` became final + - [BC] Class `Psalm\Issue\InvalidArrayOffset` became final + - [BC] Class `Psalm\Issue\MoreSpecificImplementedParamType` became final + - [BC] Class `Psalm\Issue\UninitializedProperty` became final + - [BC] Class `Psalm\Issue\ParseError` became final + - [BC] Class `Psalm\Issue\PossiblyUndefinedStringArrayOffset` became final + - [BC] Class `Psalm\Issue\ExtensionRequirementViolation` became final - Storage classes became final: - - [BC] Class `Psalm\Storage\MethodStorage` became final - - [BC] Class `Psalm\Storage\AttributeStorage` became final - - [BC] Class `Psalm\Storage\FileStorage` became final - - [BC] Class `Psalm\Storage\PropertyStorage` became final - - [BC] Class `Psalm\Storage\FunctionStorage` became final - - [BC] Class `Psalm\Storage\Assertion\HasArrayKey` became final - - [BC] Class `Psalm\Storage\Assertion\Truthy` became final - - [BC] Class `Psalm\Storage\Assertion\IsAClass` became final - - [BC] Class `Psalm\Storage\Assertion\HasAtLeastCount` became final - - [BC] Class `Psalm\Storage\Assertion\HasMethod` became final - - [BC] Class `Psalm\Storage\Assertion\HasIntOrStringArrayAccess` became final - - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveMethod` became final - - [BC] Class `Psalm\Storage\Assertion\IsLessThanOrEqualTo` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotAClass` became final - - [BC] Class `Psalm\Storage\Assertion\ArrayKeyDoesNotExist` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotIdentical` became final - - [BC] Class `Psalm\Storage\Assertion\IsClassEqual` became final - - [BC] Class `Psalm\Storage\Assertion\NotNonEmptyCountable` became final - - [BC] Class `Psalm\Storage\Assertion\Any` became final - - [BC] Class `Psalm\Storage\Assertion\IsLooselyEqual` became final - - [BC] Class `Psalm\Storage\Assertion\NonEmpty` became final - - [BC] Class `Psalm\Storage\Assertion\IsGreaterThanOrEqualTo` became final - - [BC] Class `Psalm\Storage\Assertion\HasStringArrayAccess` became final - - [BC] Class `Psalm\Storage\Assertion\IsClassNotEqual` became final - - [BC] Class `Psalm\Storage\Assertion\HasExactCount` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotCountable` became final - - [BC] Class `Psalm\Storage\Assertion\IsIdentical` became final - - [BC] Class `Psalm\Storage\Assertion\IsType` became final - - [BC] Class `Psalm\Storage\Assertion\NotNestedAssertions` became final - - [BC] Class `Psalm\Storage\Assertion\IsGreaterThan` became final - - [BC] Class `Psalm\Storage\Assertion\IsIsset` became final - - [BC] Class `Psalm\Storage\Assertion\Empty_` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotType` became final - - [BC] Class `Psalm\Storage\Assertion\ArrayKeyExists` became final - - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveAtLeastCount` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotIsset` became final - - [BC] Class `Psalm\Storage\Assertion\NonEmptyCountable` became final - - [BC] Class `Psalm\Storage\Assertion\NestedAssertions` became final - - [BC] Class `Psalm\Storage\Assertion\Falsy` became final - - [BC] Class `Psalm\Storage\Assertion\IsNotLooselyEqual` became final - - [BC] Class `Psalm\Storage\Assertion\IsEqualIsset` became final - - [BC] Class `Psalm\Storage\Assertion\IsLessThan` became final - - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveExactCount` became final - - [BC] Class `Psalm\Storage\Assertion\IsCountable` became final - - [BC] Class `Psalm\Storage\Assertion\NotInArray` became final - - [BC] Class `Psalm\Storage\Assertion\InArray` became final - - [BC] Class `Psalm\Storage\FunctionLikeParameter` became final - - [BC] Class `Psalm\Storage\Possibilities` became final - - [BC] Class `Psalm\Storage\ClassConstantStorage` became final - - [BC] Class `Psalm\Storage\ClassLikeStorage` became final - - [BC] Class `Psalm\Storage\AttributeArg` became final - - [BC] Class `Psalm\Storage\EnumCaseStorage` became final + - [BC] Class `Psalm\Storage\MethodStorage` became final + - [BC] Class `Psalm\Storage\AttributeStorage` became final + - [BC] Class `Psalm\Storage\FileStorage` became final + - [BC] Class `Psalm\Storage\PropertyStorage` became final + - [BC] Class `Psalm\Storage\FunctionStorage` became final + - [BC] Class `Psalm\Storage\Assertion\HasArrayKey` became final + - [BC] Class `Psalm\Storage\Assertion\Truthy` became final + - [BC] Class `Psalm\Storage\Assertion\IsAClass` became final + - [BC] Class `Psalm\Storage\Assertion\HasAtLeastCount` became final + - [BC] Class `Psalm\Storage\Assertion\HasMethod` became final + - [BC] Class `Psalm\Storage\Assertion\HasIntOrStringArrayAccess` became final + - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveMethod` became final + - [BC] Class `Psalm\Storage\Assertion\IsLessThanOrEqualTo` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotAClass` became final + - [BC] Class `Psalm\Storage\Assertion\ArrayKeyDoesNotExist` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotIdentical` became final + - [BC] Class `Psalm\Storage\Assertion\IsClassEqual` became final + - [BC] Class `Psalm\Storage\Assertion\NotNonEmptyCountable` became final + - [BC] Class `Psalm\Storage\Assertion\Any` became final + - [BC] Class `Psalm\Storage\Assertion\IsLooselyEqual` became final + - [BC] Class `Psalm\Storage\Assertion\NonEmpty` became final + - [BC] Class `Psalm\Storage\Assertion\IsGreaterThanOrEqualTo` became final + - [BC] Class `Psalm\Storage\Assertion\HasStringArrayAccess` became final + - [BC] Class `Psalm\Storage\Assertion\IsClassNotEqual` became final + - [BC] Class `Psalm\Storage\Assertion\HasExactCount` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotCountable` became final + - [BC] Class `Psalm\Storage\Assertion\IsIdentical` became final + - [BC] Class `Psalm\Storage\Assertion\IsType` became final + - [BC] Class `Psalm\Storage\Assertion\NotNestedAssertions` became final + - [BC] Class `Psalm\Storage\Assertion\IsGreaterThan` became final + - [BC] Class `Psalm\Storage\Assertion\IsIsset` became final + - [BC] Class `Psalm\Storage\Assertion\Empty_` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotType` became final + - [BC] Class `Psalm\Storage\Assertion\ArrayKeyExists` became final + - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveAtLeastCount` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotIsset` became final + - [BC] Class `Psalm\Storage\Assertion\NonEmptyCountable` became final + - [BC] Class `Psalm\Storage\Assertion\NestedAssertions` became final + - [BC] Class `Psalm\Storage\Assertion\Falsy` became final + - [BC] Class `Psalm\Storage\Assertion\IsNotLooselyEqual` became final + - [BC] Class `Psalm\Storage\Assertion\IsEqualIsset` became final + - [BC] Class `Psalm\Storage\Assertion\IsLessThan` became final + - [BC] Class `Psalm\Storage\Assertion\DoesNotHaveExactCount` became final + - [BC] Class `Psalm\Storage\Assertion\IsCountable` became final + - [BC] Class `Psalm\Storage\Assertion\NotInArray` became final + - [BC] Class `Psalm\Storage\Assertion\InArray` became final + - [BC] Class `Psalm\Storage\FunctionLikeParameter` became final + - [BC] Class `Psalm\Storage\Possibilities` became final + - [BC] Class `Psalm\Storage\ClassConstantStorage` became final + - [BC] Class `Psalm\Storage\ClassLikeStorage` became final + - [BC] Class `Psalm\Storage\AttributeArg` became final + - [BC] Class `Psalm\Storage\EnumCaseStorage` became final + - VirtualNode classes became final + - [BC] Class `Psalm\Node\Stmt\VirtualFunction` became final + - [BC] Class `Psalm\Node\Stmt\VirtualClassConst` became final + - [BC] Class `Psalm\Node\Stmt\VirtualTraitUse` became final + - [BC] Class `Psalm\Node\Stmt\VirtualElseIf` became final + - [BC] Class `Psalm\Node\Stmt\VirtualDeclare` became final + - [BC] Class `Psalm\Node\Stmt\VirtualHaltCompiler` became final + - [BC] Class `Psalm\Node\Stmt\VirtualThrow` became final + - [BC] Class `Psalm\Node\Stmt\TraitUseAdaptation\VirtualAlias` became final + - [BC] Class `Psalm\Node\Stmt\TraitUseAdaptation\VirtualPrecedence` became final + - [BC] Class `Psalm\Node\Stmt\VirtualNamespace` became final + - [BC] Class `Psalm\Node\Stmt\VirtualIf` became final + - [BC] Class `Psalm\Node\Stmt\VirtualStatic` became final + - [BC] Class `Psalm\Node\Stmt\VirtualInlineHTML` became final + - [BC] Class `Psalm\Node\Stmt\VirtualUseUse` became final + - [BC] Class `Psalm\Node\Stmt\VirtualCatch` became final + - [BC] Class `Psalm\Node\Stmt\VirtualDeclareDeclare` became final + - [BC] Class `Psalm\Node\Stmt\VirtualEcho` became final + - [BC] Class `Psalm\Node\Stmt\VirtualFinally` became final + - [BC] Class `Psalm\Node\Stmt\VirtualInterface` became final + - [BC] Class `Psalm\Node\Stmt\VirtualGlobal` became final + - [BC] Class `Psalm\Node\Stmt\VirtualGroupUse` became final + - [BC] Class `Psalm\Node\Stmt\VirtualLabel` became final + - [BC] Class `Psalm\Node\Stmt\VirtualTrait` became final + - [BC] Class `Psalm\Node\Stmt\VirtualClass` became final + - [BC] Class `Psalm\Node\Stmt\VirtualUse` became final + - [BC] Class `Psalm\Node\Stmt\VirtualProperty` became final + - [BC] Class `Psalm\Node\Stmt\VirtualUnset` became final + - [BC] Class `Psalm\Node\Stmt\VirtualPropertyProperty` became final + - [BC] Class `Psalm\Node\Stmt\VirtualExpression` became final + - [BC] Class `Psalm\Node\Stmt\VirtualSwitch` became final + - [BC] Class `Psalm\Node\Stmt\VirtualStaticVar` became final + - [BC] Class `Psalm\Node\Stmt\VirtualClassMethod` became final + - [BC] Class `Psalm\Node\Stmt\VirtualNop` became final + - [BC] Class `Psalm\Node\Stmt\VirtualReturn` became final + - [BC] Class `Psalm\Node\Stmt\VirtualDo` became final + - [BC] Class `Psalm\Node\Stmt\VirtualBreak` became final + - [BC] Class `Psalm\Node\Stmt\VirtualElse` became final + - [BC] Class `Psalm\Node\Stmt\VirtualContinue` became final + - [BC] Class `Psalm\Node\Stmt\VirtualForeach` became final + - [BC] Class `Psalm\Node\Stmt\VirtualGoto` became final + - [BC] Class `Psalm\Node\Stmt\VirtualWhile` became final + - [BC] Class `Psalm\Node\Stmt\VirtualFor` became final + - [BC] Class `Psalm\Node\Stmt\VirtualCase` became final + - [BC] Class `Psalm\Node\Stmt\VirtualTryCatch` became final + - [BC] Class `Psalm\Node\Stmt\VirtualConst` became final + - [BC] Class `Psalm\Node\VirtualAttribute` became final + - [BC] Class `Psalm\Node\VirtualArg` became final + - [BC] Class `Psalm\Node\Expr\VirtualUnaryPlus` became final + - [BC] Class `Psalm\Node\Expr\VirtualMatch` became final + - [BC] Class `Psalm\Node\Expr\VirtualNullsafeMethodCall` became final + - [BC] Class `Psalm\Node\Expr\VirtualTernary` became final + - [BC] Class `Psalm\Node\Expr\VirtualThrow` became final + - [BC] Class `Psalm\Node\Expr\VirtualNew` became final + - [BC] Class `Psalm\Node\Expr\VirtualEmpty` became final + - [BC] Class `Psalm\Node\Expr\VirtualStaticPropertyFetch` became final + - [BC] Class `Psalm\Node\Expr\VirtualUnaryMinus` became final + - [BC] Class `Psalm\Node\Expr\VirtualStaticCall` became final + - [BC] Class `Psalm\Node\Expr\VirtualPostInc` became final + - [BC] Class `Psalm\Node\Expr\VirtualPreDec` became final + - [BC] Class `Psalm\Node\Expr\VirtualAssign` became final + - [BC] Class `Psalm\Node\Expr\VirtualErrorSuppress` became final + - [BC] Class `Psalm\Node\Expr\VirtualPreInc` became final + - [BC] Class `Psalm\Node\Expr\VirtualArray` became final + - [BC] Class `Psalm\Node\Expr\VirtualArrayItem` became final + - [BC] Class `Psalm\Node\Expr\VirtualIsset` became final + - [BC] Class `Psalm\Node\Expr\VirtualClone` became final + - [BC] Class `Psalm\Node\Expr\VirtualConstFetch` became final + - [BC] Class `Psalm\Node\Expr\VirtualEval` became final + - [BC] Class `Psalm\Node\Expr\VirtualPrint` became final + - [BC] Class `Psalm\Node\Expr\VirtualError` became final + - [BC] Class `Psalm\Node\Expr\VirtualClosure` became final + - [BC] Class `Psalm\Node\Expr\VirtualNullsafePropertyFetch` became final + - [BC] Class `Psalm\Node\Expr\VirtualArrowFunction` became final + - [BC] Class `Psalm\Node\Expr\VirtualBooleanNot` became final + - [BC] Class `Psalm\Node\Expr\VirtualPropertyFetch` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualArray` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualInt` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualObject` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualDouble` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualUnset` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualBool` became final + - [BC] Class `Psalm\Node\Expr\Cast\VirtualString` became final + - [BC] Class `Psalm\Node\Expr\VirtualMethodCall` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualBitwiseAnd` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualCoalesce` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualDiv` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualNotIdentical` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualLogicalAnd` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualSpaceship` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualGreater` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualShiftRight` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualIdentical` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualMul` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualLogicalOr` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualBitwiseXor` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualSmallerOrEqual` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualNotEqual` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualGreaterOrEqual` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualMinus` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualEqual` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualSmaller` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualLogicalXor` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualMod` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualBooleanAnd` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualPlus` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualShiftLeft` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualBooleanOr` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualBitwiseOr` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualConcat` became final + - [BC] Class `Psalm\Node\Expr\BinaryOp\VirtualPow` became final + - [BC] Class `Psalm\Node\Expr\VirtualVariable` became final + - [BC] Class `Psalm\Node\Expr\VirtualBitwiseNot` became final + - [BC] Class `Psalm\Node\Expr\VirtualShellExec` became final + - [BC] Class `Psalm\Node\Expr\VirtualFuncCall` became final + - [BC] Class `Psalm\Node\Expr\VirtualInclude` became final + - [BC] Class `Psalm\Node\Expr\VirtualAssignRef` became final + - [BC] Class `Psalm\Node\Expr\VirtualClassConstFetch` became final + - [BC] Class `Psalm\Node\Expr\VirtualExit` became final + - [BC] Class `Psalm\Node\Expr\VirtualArrayDimFetch` became final + - [BC] Class `Psalm\Node\Expr\VirtualList` became final + - [BC] Class `Psalm\Node\Expr\VirtualYield` became final + - [BC] Class `Psalm\Node\Expr\VirtualYieldFrom` became final + - [BC] Class `Psalm\Node\Expr\VirtualClosureUse` became final + - [BC] Class `Psalm\Node\Expr\VirtualPostDec` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualBitwiseAnd` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualCoalesce` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualDiv` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualShiftRight` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualMul` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualBitwiseXor` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualMinus` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualMod` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualPlus` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualShiftLeft` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualBitwiseOr` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualConcat` became final + - [BC] Class `Psalm\Node\Expr\AssignOp\VirtualPow` became final + - [BC] Class `Psalm\Node\Expr\VirtualInstanceof` became final + - [BC] Class `Psalm\Node\VirtualNullableType` became final + - [BC] Class `Psalm\Node\VirtualMatchArm` became final + - [BC] Class `Psalm\Node\VirtualIdentifier` became final + - [BC] Class `Psalm\Node\VirtualName` became final + - [BC] Class `Psalm\Node\VirtualParam` became final + - [BC] Class `Psalm\Node\VirtualAttributeGroup` became final + - [BC] Class `Psalm\Node\VirtualVarLikeIdentifier` became final + - [BC] Class `Psalm\Node\Name\VirtualRelative` became final + - [BC] Class `Psalm\Node\Name\VirtualFullyQualified` became final + - [BC] Class `Psalm\Node\VirtualUnionType` became final + - [BC] Class `Psalm\Node\Scalar\VirtualLNumber` became final + - [BC] Class `Psalm\Node\Scalar\VirtualDNumber` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualFunction` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualNamespace` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualMethod` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualLine` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualTrait` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualClass` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualDir` became final + - [BC] Class `Psalm\Node\Scalar\MagicConst\VirtualFile` became final + - [BC] Class `Psalm\Node\Scalar\VirtualEncapsedStringPart` became final + - [BC] Class `Psalm\Node\Scalar\VirtualString` became final + - [BC] Class `Psalm\Node\Scalar\VirtualEncapsed` became final + - [BC] Class `Psalm\Node\VirtualConst` became final ## Removed - [BC] Property `Psalm\Codebase::$php_major_version` was removed, use