isAcceptedBy($this, $strictTypes); } return new AcceptsResult($type->isClassString(), []); } public function isSuperTypeOf(Type $type): IsSuperTypeOfResult { if ($type instanceof CompoundType) { return $type->isSubTypeOf($this); } return new IsSuperTypeOfResult($type->isClassString(), []); } public function isString(): TrinaryLogic { return TrinaryLogic::createYes(); } public function isNumericString(): TrinaryLogic { return TrinaryLogic::createNo(); } public function isDecimalIntegerString(): TrinaryLogic { return TrinaryLogic::createNo(); } public function isNonEmptyString(): TrinaryLogic { return TrinaryLogic::createYes(); } public function isNonFalsyString(): TrinaryLogic { return TrinaryLogic::createYes(); } public function isLiteralString(): TrinaryLogic { return TrinaryLogic::createMaybe(); } public function isLowercaseString(): TrinaryLogic { return TrinaryLogic::createMaybe(); } public function isUppercaseString(): TrinaryLogic { return TrinaryLogic::createMaybe(); } public function isClassString(): TrinaryLogic { return TrinaryLogic::createYes(); } public function getClassStringObjectType(): Type { return new ObjectWithoutClassType(); } public function getObjectTypeOrClassStringObjectType(): Type { return new ObjectWithoutClassType(); } public function toPhpDocNode(): TypeNode { return new IdentifierTypeNode('class-string'); } }