| Methods | 
	
			| 
					
	public
					
					
				 | __construct()
	 | # | 
	
			| 
					
	public
					
					
				 | getReferencedClasses(): array | # | 
	
			| 
					
	public
					
					
				 | getObjectClassNames(): array | # | 
	
			| 
					
	public
					
					
				 | getObjectClassReflections(): array | # | 
	
			| 
					
	public
					
					
				 | getArrays(): array | # | 
	
			| 
					
	public
					
					
				 | getConstantArrays(): 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
					
					
				 | 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
					
					
				 | getKeysArray(): Type | # | 
	
			| 
					
	public
					
					
				 | getValuesArray(): Type | # | 
	
			| 
					
	public
					
					
				 | fillKeysArray(Type $valueType): Type | # | 
	
			| 
					
	public
					
					
				 | flipArray(): Type | # | 
	
			| 
					
	public
					
					
				 | intersectKeyArray(Type $otherArraysType): Type | # | 
	
			| 
					
	public
					
					
				 | popArray(): Type | # | 
	
			| 
					
	public
					
					
				 | searchArray(Type $needleType): Type | # | 
	
			| 
					
	public
					
					
				 | shiftArray(): Type | # | 
	
			| 
					
	public
					
					
				 | shuffleArray(): Type | # | 
	
			| 
					
	public
					
					
				 | isIterable(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isIterableAtLeastOnce(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | getArraySize(): Type | # | 
	
			| 
					
	public
					
					
				 | getIterableKeyType(): Type | # | 
	
			| 
					
	public
					
					
				 | getFirstIterableKeyType(): Type | # | 
	
			| 
					
	public
					
					
				 | getLastIterableKeyType(): Type | # | 
	
			| 
					
	public
					
					
				 | getIterableValueType(): Type | # | 
	
			| 
					
	public
					
					
				 | getFirstIterableValueType(): Type | # | 
	
			| 
					
	public
					
					
				 | getLastIterableValueType(): Type | # | 
	
			| 
					
	public
					
					
				 | isArray(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isConstantArray(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isOversizedArray(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isList(): 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
					
					
				 | toNumber(): Type | # | 
	
			| 
					
	public
					
					
				 | toInteger(): Type | # | 
	
			| 
					
	public
					
					
				 | toFloat(): Type | # | 
	
			| 
					
	public
					
					
				 | toString(): Type | # | 
	
			| 
					
	public
					
					
				 | toArray(): Type | # | 
	
			| 
					
	public
					
					
				 | toArrayKey(): Type | # | 
	
			| 
					
	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
					static
					
				 | __set_state(array $properties): Type | # | 
	
			| 
					
	public
					static
					
				 | setListTypeEnabled(bool $enabled): void
	 | # | 
	
			| 
					
	public
					static
					
				 | isListTypeEnabled(): bool
	 | # | 
	
			| 
					
	public
					static
					
				 | intersectWith(Type $type): Type
	 | # | 
	
			| 
					
	public
					
					
				 | exponentiate(Type $exponent): Type | # |