Methods |
public
|
__construct(array<int, ParameterReflection>|null $parameters = null, ?Type $returnType = null, bool $variadic = true)
|
#
|
public
|
getReferencedClasses(): string[]
|
#
|
public
|
getObjectClassNames(): array
|
#
|
public
|
getObjectClassReflections(): array
|
#
|
public
|
getConstantStrings(): array
|
#
|
public
|
accepts(Type $type, bool $strictTypes): TrinaryLogic
|
#
|
public
|
acceptsWithReason(Type $type, bool $strictTypes): AcceptsResult
This is like accepts() but gives reasons
why the type was not/might not be accepted in some non-intuitive scenarios.
This is like accepts() but gives reasons
why the type was not/might not be accepted in some non-intuitive scenarios.
In PHPStan 2.0 this method will be removed and the return type of accepts()
will change to AcceptsResult.
Implements
|
#
|
public
|
isSuperTypeOf(Type $type): TrinaryLogic
|
#
|
public
|
isSubTypeOf(Type $otherType): TrinaryLogic
|
#
|
public
|
isAcceptedBy(Type $acceptingType, bool $strictTypes): TrinaryLogic
|
#
|
public
|
isAcceptedWithReasonBy(Type $acceptingType, bool $strictTypes): AcceptsResult
|
#
|
public
|
equals(Type $type): bool
|
#
|
public
|
describe(VerbosityLevel $level): string
|
#
|
public
|
isCallable(): TrinaryLogic
|
#
|
public
|
getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): ParametersAcceptor[]
|
#
|
public
|
toNumber(): Type
|
#
|
public
|
toString(): Type
|
#
|
public
|
toInteger(): Type
|
#
|
public
|
toFloat(): Type
|
#
|
public
|
toArray(): Type
|
#
|
public
|
toArrayKey(): Type
|
#
|
public
|
getTemplateTypeMap(): TemplateTypeMap
|
#
|
public
|
getResolvedTemplateTypeMap(): TemplateTypeMap
|
#
|
public
|
getParameters(): array<int, ParameterReflection>
|
#
|
public
|
isVariadic(): bool
|
#
|
public
|
getReturnType(): Type
|
#
|
public
|
inferTemplateTypes(Type $receivedType): TemplateTypeMap
Infers template types
Infers template types
Infers the real Type of the TemplateTypes found in $this, based on
the received Type.
Implements
|
#
|
public
|
getReferencedTemplateTypes(TemplateTypeVariance $positionVariance): array
Returns the template types referenced by this Type, recursively
Returns the template types referenced by this Type, recursively
The return value is a list of TemplateTypeReferences, who contain the
referenced template type as well as the variance position in which it was
found.
For example, calling this on array<Foo<T>,Bar> (with T a template type)
will return one TemplateTypeReference for the type T.
Parameters
$positionVariance |
The variance position in
which the receiver type was
found.
|
Implements
|
#
|
public
|
traverse(callable $cb): Type
Traverses inner types
Traverses inner types
Returns a new instance with all inner types mapped through $cb. Might
return the same instance if inner types did not change.
Implements
|
#
|
public
|
isOversizedArray(): TrinaryLogic
|
#
|
public
|
isNull(): TrinaryLogic
|
#
|
public
|
isConstantValue(): TrinaryLogic
Is Type of a known constant value? Includes literal strings, integers, floats, true, false, null, and array shapes.
Is Type of a known constant value? Includes literal strings, integers, floats, true, false, null, and array shapes.
Implements
|
#
|
public
|
isConstantScalarValue(): TrinaryLogic
Is Type of a known constant scalar value? Includes literal strings, integers, floats, true, false, and null.
Is Type of a known constant scalar value? Includes literal strings, integers, floats, true, false, and null.
Implements
|
#
|
public
|
getConstantScalarTypes(): array
|
#
|
public
|
getConstantScalarValues(): array
|
#
|
public
|
isTrue(): TrinaryLogic
|
#
|
public
|
isFalse(): TrinaryLogic
|
#
|
public
|
isBoolean(): TrinaryLogic
|
#
|
public
|
isFloat(): TrinaryLogic
|
#
|
public
|
isInteger(): TrinaryLogic
|
#
|
public
|
isString(): TrinaryLogic
|
#
|
public
|
isNumericString(): TrinaryLogic
|
#
|
public
|
isNonEmptyString(): TrinaryLogic
|
#
|
public
|
isNonFalsyString(): TrinaryLogic
|
#
|
public
|
isLiteralString(): TrinaryLogic
|
#
|
public
|
isClassStringType(): TrinaryLogic
|
#
|
public
|
getClassStringObjectType(): Type
Returns object type Foo for class-string<Foo> and 'Foo' (if Foo is a valid class).
Returns object type Foo for class-string<Foo> and 'Foo' (if Foo is a valid class).
Implements
|
#
|
public
|
getObjectTypeOrClassStringObjectType(): Type
Returns object type Foo for class-string<Foo>, 'Foo' (if Foo is a valid class),
and object type Foo.
Returns object type Foo for class-string<Foo>, 'Foo' (if Foo is a valid class),
and object type Foo.
Implements
|
#
|
public
|
isVoid(): TrinaryLogic
|
#
|
public
|
isScalar(): TrinaryLogic
|
#
|
public
|
looseCompare(Type $type, PhpVersion $phpVersion): BooleanType
|
#
|
public
|
getEnumCases(): array
|
#
|
public
|
isCommonCallable(): bool
|
#
|
public
|
exponentiate(Type $exponent): Type
|
#
|
public
static
|
__set_state(mixed[] $properties): Type
|
#
|