Skip to content

Commit f33c093

Browse files
committed
decimal-int-string and non-decimal-int-string
1 parent c008e03 commit f33c093

34 files changed

+673
-0
lines changed

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)