Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

deprecate TEmpty #6763

Merged
merged 1 commit into from
Oct 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
156 changes: 150 additions & 6 deletions psalm-baseline.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="dev-master@50ec62ffd8a4b46d48835abb007d4bdd4da6c4c9">
<files psalm-version="dev-master@aed069bf8345aa69b5ccdcec7fcf8f961715e729">
<file src="examples/TemplateChecker.php">
<PossiblyUndefinedIntArrayOffset occurrences="2">
<code>$comment_block-&gt;tags['variablesfrom'][0]</code>
Expand All @@ -12,11 +12,6 @@
<code>$matches[1]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/CodeLocation.php">
<PossiblyUndefinedIntArrayOffset occurrences="1">
<code>$matches[$match_offset]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Codebase.php">
<PossiblyUndefinedIntArrayOffset occurrences="2">
<code>$matches[0]</code>
Expand Down Expand Up @@ -125,7 +120,18 @@
<code>$gettype_expr-&gt;getArgs()[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/AssignmentAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/BinaryOp/ArithmeticOpAnalyzer.php">
<DeprecatedMethod occurrences="4">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
<PossiblyUndefinedIntArrayOffset occurrences="2">
<code>$invalid_left_messages[0]</code>
<code>$invalid_right_messages[0]</code>
Expand All @@ -145,6 +151,12 @@
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/ArrayFunctionArgumentsAnalyzer.php">
<DeprecatedClass occurrences="4">
<code>new TEmpty</code>
<code>new TEmpty</code>
<code>new TEmpty</code>
<code>new TEmpty</code>
</DeprecatedClass>
<PossiblyUndefinedIntArrayOffset occurrences="4">
<code>$args[0]</code>
<code>$args[0]</code>
Expand All @@ -158,6 +170,21 @@
<code>$stmt-&gt;getArgs()[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/FunctionCallReturnTypeFetcher.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/AtomicMethodCallAnalyzer.php">
<DeprecatedClass occurrences="1">
<code>Type\Atomic\TEmpty::class</code>
</DeprecatedClass>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/MethodCallReturnTypeFetcher.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/MethodCallAnalyzer.php">
<PossiblyUndefinedIntArrayOffset occurrences="7">
<code>$result-&gt;existent_method_ids[0]</code>
Expand All @@ -169,23 +196,74 @@
<code>$result-&gt;non_existent_magic_method_ids[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/NewAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Call/StaticMethod/ExistingAtomicStaticCallAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/CallAnalyzer.php">
<PossiblyUndefinedIntArrayOffset occurrences="3">
<code>$assertion-&gt;rule[0]</code>
<code>$callable_arg-&gt;items[0]</code>
<code>$callable_arg-&gt;items[1]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/CastAnalyzer.php">
<DeprecatedMethod occurrences="2">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/ExitAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/ArrayFetchAnalyzer.php">
<DeprecatedClass occurrences="3">
<code>Type\Atomic\TMixed|Type\Atomic\TTemplateParam|Type\Atomic\TEmpty</code>
<code>new TEmpty</code>
<code>new TEmpty</code>
</DeprecatedClass>
<DeprecatedMethod occurrences="2">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/InstancePropertyFetchAnalyzer.php">
<PossiblyUndefinedIntArrayOffset occurrences="1">
<code>$invalid_fetch_types[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/Expression/YieldAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
<PossiblyUndefinedIntArrayOffset occurrences="1">
<code>$atomic_return_type-&gt;type_params[2]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/ReturnAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/ThrowAnalyzer.php">
<DeprecatedMethod occurrences="1">
<code>\Psalm\Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/UnsetAnalyzer.php">
<DeprecatedClass occurrences="2">
<code>new Type\Atomic\TEmpty</code>
<code>new Type\Atomic\TEmpty</code>
</DeprecatedClass>
</file>
<file src="src/Psalm/Internal/Analyzer/Statements/UnusedAssignmentRemover.php">
<PossiblyUndefinedIntArrayOffset occurrences="6">
<code>$token_list[$iter]</code>
Expand All @@ -201,6 +279,16 @@
<code>$stmt-&gt;expr-&gt;getArgs()[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Codebase/ConstantTypeResolver.php">
<DeprecatedClass occurrences="2">
<code>new Type\Atomic\TEmpty()</code>
<code>new Type\Atomic\TEmpty()</code>
</DeprecatedClass>
<DeprecatedMethod occurrences="2">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Codebase/InternalCallMapHandler.php">
<PossiblyUndefinedIntArrayOffset occurrences="2">
<code>$callables[0]</code>
Expand Down Expand Up @@ -305,6 +393,49 @@
<code>$cs[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Internal/Type/Comparator/ArrayTypeComparator.php">
<DeprecatedClass occurrences="2">
<code>new Type\Atomic\TEmpty()</code>
<code>new Type\Atomic\TEmpty()</code>
</DeprecatedClass>
</file>
<file src="src/Psalm/Internal/Type/NegatedAssertionReconciler.php">
<DeprecatedMethod occurrences="3">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Type/SimpleAssertionReconciler.php">
<DeprecatedClass occurrences="2">
<code>new TEmpty()</code>
<code>new TEmpty()</code>
</DeprecatedClass>
<DeprecatedMethod occurrences="13">
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Type/SimpleNegatedAssertionReconciler.php">
<DeprecatedClass occurrences="2">
<code>new TEmpty</code>
<code>new TEmpty</code>
</DeprecatedClass>
<DeprecatedMethod occurrences="1">
<code>Type::getEmpty()</code>
</DeprecatedMethod>
</file>
<file src="src/Psalm/Internal/Type/TypeCombiner.php">
<PossiblyUndefinedIntArrayOffset occurrences="6">
<code>$combination-&gt;array_type_params[1]</code>
Expand Down Expand Up @@ -333,7 +464,17 @@
<code>$rules[0]</code>
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Type.php">
<DeprecatedClass occurrences="3">
<code>new TEmpty</code>
<code>new TEmpty</code>
<code>new TEmpty()</code>
</DeprecatedClass>
</file>
<file src="src/Psalm/Type/Atomic.php">
<DeprecatedClass occurrences="1">
<code>new TEmpty()</code>
</DeprecatedClass>
<PossiblyUndefinedIntArrayOffset occurrences="1">
<code>array_keys($template_type_map[$value])[0]</code>
</PossiblyUndefinedIntArrayOffset>
Expand All @@ -344,6 +485,9 @@
</PossiblyUndefinedIntArrayOffset>
</file>
<file src="src/Psalm/Type/Reconciler.php">
<DeprecatedClass occurrences="1">
<code>new TEmpty</code>
</DeprecatedClass>
<PossiblyUndefinedIntArrayOffset occurrences="1">
<code>$type[0]</code>
</PossiblyUndefinedIntArrayOffset>
Expand Down
3 changes: 3 additions & 0 deletions src/Psalm/Type.php
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,9 @@ public static function getScalar(): Union
return new Union([$type]);
}

/**
* @deprecated will be removed in Psalm 5. See getNever to retrieve a TNever that replaces TEmpty
*/
public static function getEmpty(): Union
{
$type = new TEmpty();
Expand Down
1 change: 1 addition & 0 deletions src/Psalm/Type/Atomic/TEmpty.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/**
* Denotes the `empty` type, used to describe a type corresponding to no value whatsoever.
* Empty arrays `[]` have the type `array<empty, empty>`.
* @deprecated Will be replaced by TNever when in type context and TAssertionEmpty for assertion context in Psalm 5
*/
class TEmpty extends Scalar
{
Expand Down