Skip to content

Commit c1b3ae2

Browse files
committed
Add lowercase-string support
1 parent d289ca6 commit c1b3ae2

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

composer.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Internal/ContextualTypeParser.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
use const Typhoon\Type\falseT;
3535
use const Typhoon\Type\floatT;
3636
use const Typhoon\Type\intT;
37+
use const Typhoon\Type\lowercaseStringT;
3738
use const Typhoon\Type\mixedT;
3839
use const Typhoon\Type\negativeIntT;
3940
use const Typhoon\Type\neverT;
@@ -122,6 +123,7 @@ private function parseIdentifier(string $name, array $genericNodes = []): Type
122123
'non-zero-int' => nonZeroIntT,
123124
'float' => self::parseFloat(...),
124125
'non-empty-string' => nonEmptyStringT,
126+
'lowercase-string' => lowercaseStringT,
125127
'numeric-string' => numericStringT,
126128
'string' => stringT,
127129
'resource' => resourceT,

tests/PHPStanTypeParserTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use const Typhoon\Type\falseT;
2424
use const Typhoon\Type\floatT;
2525
use const Typhoon\Type\intT;
26+
use const Typhoon\Type\lowercaseStringT;
2627
use const Typhoon\Type\mixedT;
2728
use const Typhoon\Type\negativeIntT;
2829
use const Typhoon\Type\neverT;
@@ -85,6 +86,7 @@ private static function cases(): \Generator
8586
yield "'\\n'" => stringT('\n');
8687
yield 'non-empty-string' => nonEmptyStringT;
8788
yield 'numeric-string' => numericStringT;
89+
yield 'lowercase-string' => lowercaseStringT;
8890
yield 'string' => stringT;
8991
yield 'resource' => resourceT;
9092
yield 'array-key' => arrayKeyT;
@@ -98,6 +100,7 @@ private static function cases(): \Generator
98100
yield \stdClass::class => objectT(\stdClass::class);
99101
yield \Stringable::class => objectT(\Stringable::class);
100102
yield 'Traversable<int, string>' => objectT(\Traversable::class, [intT, stringT]);
103+
// todo yield 'stdClass|Iterator&Throwable' https://github.com/phpstan/phpdoc-parser/issues/271
101104
}
102105

103106
/**

0 commit comments

Comments
 (0)