Viewing file: ModelScopeMethodReflection.php (2.33 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
namespace NunoMaduro\Larastan\Reflection;
use PHPStan\Reflection\ClassMemberReflection; use PHPStan\Reflection\ClassReflection; use PHPStan\Reflection\FunctionVariant; use PHPStan\Reflection\MethodReflection; use PHPStan\TrinaryLogic; use PHPStan\Type\Generic\TemplateTypeMap; use PHPStan\Type\ObjectType; use PHPStan\Type\Type;
final class ModelScopeMethodReflection implements MethodReflection { /** * @var string */ private $methodName;
/** * @var ClassReflection */ private $classReflection;
/** * @var ClassReflection */ private $relation;
public function __construct(string $methodName, ClassReflection $classReflection, ClassReflection $relation) { $this->methodName = $methodName; $this->classReflection = $classReflection; $this->relation = $relation; }
public function getDeclaringClass(): ClassReflection { return $this->classReflection; }
public function isStatic(): bool { return false; }
public function isPrivate(): bool { return false; }
public function isPublic(): bool { return true; }
public function getName(): string { return $this->methodName; }
public function getPrototype(): ClassMemberReflection { return $this; }
/** * {@inheritdoc} */ public function getVariants(): array { return [ new FunctionVariant( TemplateTypeMap::createEmpty(), null, [], false, new ObjectType($this->relation->getName()) ), ]; }
public function getDocComment(): ?string { return null; }
public function isDeprecated(): TrinaryLogic { return TrinaryLogic::createNo(); }
public function getDeprecatedDescription(): ?string { return null; }
public function isFinal(): TrinaryLogic { return TrinaryLogic::createNo(); }
public function isInternal(): TrinaryLogic { return TrinaryLogic::createNo(); }
public function getThrowType(): ?Type { return null; }
public function hasSideEffects(): TrinaryLogic { return TrinaryLogic::createMaybe(); } }
|