Methods |
public
|
__construct(Type[] $types)
|
#
|
public
|
getTypes(): Type[]
|
#
|
public
|
getReferencedClasses(): string[]
|
#
|
public
|
accepts(Type $type, bool $strictTypes): TrinaryLogic
|
#
|
public
|
isSuperTypeOf(Type $otherType): TrinaryLogic
|
#
|
public
|
isSubTypeOf(Type $otherType): TrinaryLogic
|
#
|
public
|
isAcceptedBy(Type $acceptingType, bool $strictTypes): TrinaryLogic
|
#
|
public
|
equals(Type $type): bool
|
#
|
public
|
describe(VerbosityLevel $level): string
|
#
|
public
|
canAccessProperties(): TrinaryLogic
|
#
|
public
|
hasProperty(string $propertyName): TrinaryLogic
|
#
|
public
|
getProperty(string $propertyName, ClassMemberAccessAnswerer $scope): PropertyReflection
|
#
|
public
|
getUnresolvedPropertyPrototype(
string $propertyName,
ClassMemberAccessAnswerer $scope,
): UnresolvedPropertyPrototypeReflection
|
#
|
public
|
canCallMethods(): TrinaryLogic
|
#
|
public
|
hasMethod(string $methodName): TrinaryLogic
|
#
|
public
|
getMethod(string $methodName, ClassMemberAccessAnswerer $scope): MethodReflection
|
#
|
public
|
getUnresolvedMethodPrototype(string $methodName, ClassMemberAccessAnswerer $scope): UnresolvedMethodPrototypeReflection
|
#
|
public
|
canAccessConstants(): TrinaryLogic
|
#
|
public
|
hasConstant(string $constantName): TrinaryLogic
|
#
|
public
|
getConstant(string $constantName): ConstantReflection
|
#
|
public
|
isIterable(): TrinaryLogic
|
#
|
public
|
isIterableAtLeastOnce(): TrinaryLogic
|
#
|
public
|
getIterableKeyType(): Type
|
#
|
public
|
getIterableValueType(): Type
|
#
|
public
|
isArray(): TrinaryLogic
|
#
|
public
|
isOversizedArray(): TrinaryLogic
|
#
|
public
|
isString(): TrinaryLogic
|
#
|
public
|
isNumericString(): TrinaryLogic
|
#
|
public
|
isNonEmptyString(): TrinaryLogic
|
#
|
public
|
isNonFalsyString(): TrinaryLogic
|
#
|
public
|
isLiteralString(): TrinaryLogic
|
#
|
public
|
isOffsetAccessible(): TrinaryLogic
|
#
|
public
|
hasOffsetValueType(Type $offsetType): TrinaryLogic
|
#
|
public
|
getOffsetValueType(Type $offsetType): Type
|
#
|
public
|
setOffsetValueType(?Type $offsetType, Type $valueType, bool $unionValues = true): Type
|
#
|
public
|
unsetOffset(Type $offsetType): Type
|
#
|
public
|
isCallable(): TrinaryLogic
|
#
|
public
|
getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): ParametersAcceptor[]
|
#
|
public
|
isCloneable(): TrinaryLogic
|
#
|
public
|
isSmallerThan(Type $otherType): TrinaryLogic
|
#
|
public
|
isSmallerThanOrEqual(Type $otherType): TrinaryLogic
|
#
|
public
|
getSmallerType(): Type
|
#
|
public
|
getSmallerOrEqualType(): Type
|
#
|
public
|
getGreaterType(): Type
|
#
|
public
|
getGreaterOrEqualType(): Type
|
#
|
public
|
isGreaterThan(Type $otherType): TrinaryLogic
|
#
|
public
|
isGreaterThanOrEqual(Type $otherType): TrinaryLogic
|
#
|
public
|
toBoolean(): BooleanType
|
#
|
public
|
toNumber(): Type
|
#
|
public
|
toString(): Type
|
#
|
public
|
toInteger(): Type
|
#
|
public
|
toFloat(): Type
|
#
|
public
|
toArray(): 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.
Overriden by
Implements
|
#
|
public
|
inferTemplateTypesOn(Type $templateType): TemplateTypeMap
|
#
|
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.
Overriden by
Implements
|
#
|
public
|
tryRemove(Type $typeToRemove): ?Type
Return the difference with another type, or null if it cannot be represented.
Return the difference with another type, or null if it cannot be represented.
Implements
|
#
|
public
static
|
__set_state(mixed[] $properties): Type
|
#
|
protected
|
unionResults(callable(Type $type): TrinaryLogic $getResult): TrinaryLogic
|
#
|
protected
|
unionTypes(callable(Type $type): Type $getType): Type
|
#
|