Skip to content

Commit de93b04

Browse files
committed
decimal-int-string and non-decimal-int-string
1 parent ee25c7b commit de93b04

37 files changed

+714
-4
lines changed

phpstan-baseline.neon

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,12 @@ parameters:
771771
count: 1
772772
path: src/Type/Accessory/AccessoryArrayListType.php
773773

774+
-
775+
rawMessage: Doing instanceof PHPStan\Type\IntersectionType is error-prone and deprecated.
776+
identifier: phpstanApi.instanceofType
777+
count: 1
778+
path: src/Type/Accessory/AccessoryDecimalIntegerStringType.php
779+
774780
-
775781
rawMessage: Doing instanceof PHPStan\Type\IntersectionType is error-prone and deprecated.
776782
identifier: phpstanApi.instanceofType

src/PhpDoc/TypeNodeResolver.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
use PHPStan\ShouldNotHappenException;
4848
use PHPStan\TrinaryLogic;
4949
use PHPStan\Type\Accessory\AccessoryArrayListType;
50+
use PHPStan\Type\Accessory\AccessoryDecimalIntegerStringType;
5051
use PHPStan\Type\Accessory\AccessoryLiteralStringType;
5152
use PHPStan\Type\Accessory\AccessoryLowercaseStringType;
5253
use PHPStan\Type\Accessory\AccessoryNonEmptyStringType;
@@ -235,6 +236,15 @@ private function resolveIdentifierTypeNode(IdentifierTypeNode $typeNode, NameSco
235236
case 'string':
236237
return new StringType();
237238

239+
case 'decimal-int-string':
240+
return new IntersectionType([new StringType(), new AccessoryDecimalIntegerStringType()]);
241+
242+
case 'non-decimal-int-string':
243+
return new IntersectionType([
244+
new StringType(),
245+
new AccessoryDecimalIntegerStringType(inverse: true),
246+
]);
247+
238248
case 'lowercase-string':
239249
return new IntersectionType([new StringType(), new AccessoryLowercaseStringType()]);
240250

src/Type/Accessory/AccessoryArrayListType.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,11 @@ public function isNumericString(): TrinaryLogic
385385
return TrinaryLogic::createNo();
386386
}
387387

388+
public function isDecimalIntegerStringType(): TrinaryLogic
389+
{
390+
return TrinaryLogic::createNo();
391+
}
392+
388393
public function isNonEmptyString(): TrinaryLogic
389394
{
390395
return TrinaryLogic::createNo();

0 commit comments

Comments
 (0)