Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Reflection/InitializerExprTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -1925,7 +1925,7 @@ public function getBitwiseNotType(Expr $expr, callable $getTypeCallback): Type

return TypeCombinator::intersect(...$accessories);
}
if ($type->isInteger()->yes() || $type instanceof FloatType) {
if ($type->isInteger()->yes() || $type->isFloat()->yes()) {
return new IntegerType(); //no const types here, result depends on PHP_INT_SIZE
}
return new ErrorType();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/AccessoryArrayListType.php
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/AccessoryLiteralStringType.php
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/AccessoryNonEmptyStringType.php
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/AccessoryNonFalsyStringType.php
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/AccessoryNumericStringType.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/HasOffsetType.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/HasOffsetValueType.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/NonEmptyArrayType.php
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Accessory/OversizedArrayType.php
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/ArrayType.php
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/CallableType.php
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/ClosureType.php
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/FloatType.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createYes();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/IntegerType.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createYes();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/IntersectionType.php
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,11 @@ public function isBoolean(): TrinaryLogic
return $this->intersectResults(static fn (Type $type): TrinaryLogic => $type->isBoolean());
}

public function isFloat(): TrinaryLogic
{
return $this->intersectResults(static fn (Type $type): TrinaryLogic => $type->isFloat());
}

public function isInteger(): TrinaryLogic
{
return $this->intersectResults(static fn (Type $type): TrinaryLogic => $type->isInteger());
Expand Down
5 changes: 5 additions & 0 deletions src/Type/IterableType.php
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/JustNullableTypeTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
11 changes: 11 additions & 0 deletions src/Type/MixedType.php
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,17 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createMaybe();
}

public function isFloat(): TrinaryLogic
{
if ($this->subtractedType !== null) {
if ($this->subtractedType->isSuperTypeOf(new FloatType())->yes()) {
return TrinaryLogic::createNo();
}
}

return TrinaryLogic::createMaybe();
}

public function isInteger(): TrinaryLogic
{
if ($this->subtractedType !== null) {
Expand Down
5 changes: 5 additions & 0 deletions src/Type/NeverType.php
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/NullType.php
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/ObjectType.php
Original file line number Diff line number Diff line change
Expand Up @@ -848,6 +848,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
2 changes: 1 addition & 1 deletion src/Type/Php/FilterVarDynamicReturnTypeExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ private function determineExactType(Type $in, int $filterValue, Type $defaultTyp
{
if (($filterValue === $this->getConstant('FILTER_VALIDATE_BOOLEAN') && $in->isBoolean()->yes())
|| ($filterValue === $this->getConstant('FILTER_VALIDATE_INT') && $in->isInteger()->yes())
|| ($filterValue === $this->getConstant('FILTER_VALIDATE_FLOAT') && $in instanceof FloatType)) {
|| ($filterValue === $this->getConstant('FILTER_VALIDATE_FLOAT') && $in->isFloat()->yes())) {
return $in;
}

Expand Down
5 changes: 5 additions & 0 deletions src/Type/StaticType.php
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,11 @@ public function isBoolean(): TrinaryLogic
return $this->getStaticObjectType()->isBoolean();
}

public function isFloat(): TrinaryLogic
{
return $this->getStaticObjectType()->isFloat();
}

public function isInteger(): TrinaryLogic
{
return $this->getStaticObjectType()->isInteger();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/StrictMixedType.php
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/StringType.php
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Traits/LateResolvableTypeTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,11 @@ public function isBoolean(): TrinaryLogic
return $this->resolve()->isBoolean();
}

public function isFloat(): TrinaryLogic
{
return $this->resolve()->isFloat();
}

public function isInteger(): TrinaryLogic
{
return $this->resolve()->isInteger();
Expand Down
5 changes: 5 additions & 0 deletions src/Type/Traits/ObjectTypeTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
2 changes: 2 additions & 0 deletions src/Type/Type.php
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ public function isFalse(): TrinaryLogic;

public function isBoolean(): TrinaryLogic;

public function isFloat(): TrinaryLogic;

public function isInteger(): TrinaryLogic;

public function isString(): TrinaryLogic;
Expand Down
5 changes: 5 additions & 0 deletions src/Type/UnionType.php
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,11 @@ public function isBoolean(): TrinaryLogic
return $this->notBenevolentUnionResults(static fn (Type $type): TrinaryLogic => $type->isBoolean());
}

public function isFloat(): TrinaryLogic
{
return $this->notBenevolentUnionResults(static fn (Type $type): TrinaryLogic => $type->isFloat());
}

public function isInteger(): TrinaryLogic
{
return $this->notBenevolentUnionResults(static fn (Type $type): TrinaryLogic => $type->isInteger());
Expand Down
5 changes: 5 additions & 0 deletions src/Type/VoidType.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ public function isBoolean(): TrinaryLogic
return TrinaryLogic::createNo();
}

public function isFloat(): TrinaryLogic
{
return TrinaryLogic::createNo();
}

public function isInteger(): TrinaryLogic
{
return TrinaryLogic::createNo();
Expand Down
Loading