1
 ?÷    “ * @var ?bool
     */
    private $isGeneric = null;
    /**
     * @var ?bool
     */
    private $isInternal = null;
    /**
     * @var ?bool
     */
    private $isFinal = null;
    /**
     * @var ?bool
     */
    private $isImmutable = null;
    /**
     * @var ?bool
     */
    private $hasConsistentConstructor = null;
    /**
     * @var ?bool
     */
    private $acceptsNamedArguments = null;
    /**
     * @var ?TemplateTypeMap
     */
    private $templateTypeMap = null;
    /**
     * @var ?TemplateTypeMap
     */
    private $activeTemplateTypeMap = null;
    /**
     * @var ?TemplateTypeVarianceMap
     */
    private $defaultCallSiteVarianceMap = null;
    /**
     * @var ?TemplateTypeVarianceMap
     */
    private $callSiteVarianceMap = null;
    /** @var array<string,ClassReflection>|null */
    private $ancestors = null;
    /**
     * @var ?string
     */
    private $cacheKey = null;
    /** @var array<string, bool> */
    private $subclasses = [];
    /**
     * @var string|false|null
     */
    private $filename = \false;
    /**
     * @var string|false|null
     */
    private $reflectionDocComment = \false;
    /**
     * @var false|ResolvedPhpDocBlock
     */
    private $resolvedPhpDocBlock = \false;
    /**
     * @var false|ResolvedPhpDocBlock
     */
    private $traitContextResolvedPhpDocBlock = \false;
    /** @var ClassReflection[]|null */
    private $cachedInterfaces = null;
    /**
     * @var ClassReflection|false|null
     */
    private $cachedParentClass = \false;
    /** @var array<string, TypeAlias>|null */
    private $typeAliases = null;
    /** @var array<string, true> */
    private static $resolvingTypeAliasImports = [];
    /** @var array<string, bool> */
    private $hasMethodCache = [];
    /**
     * @param PropertiesClassReflectionExtension[] $propertiesClassReflectionExtensions
     * @param MethodsClassReflectionExtension[] $methodsClassReflectionExtensions
     * @param AllowedSubTypesClassReflectionExtension[] $allowedSubTypesClassReflectionExtensions
     * @param string[] $universalObjectCratesClasses
     * @param ReflectionClass|ReflectionEnum $reflection
     */
    public function __construct(\PHPStan\Reflection\ReflectionProvider $reflectionProvider, \PHPStan\Reflection\InitializerExprTypeResolver $initializerExprTypeResolver, FileTypeMapper $fileTypeMapper, StubPhpDocProvider $stubPhpDocProvider, PhpDocInheritanceResolver $phpDocInheritanceResolver, PhpVersion $phpVersion, SignatureMapProvider $signatureMapProvider, array $propertiesClassReflectionExtensions, array $methodsClassReflectionExtensions, array $allowedSubTypesClassReflectionExtensions, RequireExtendsPropertiesClassReflectionExtension $requireExtendsPropertiesClassReflectionExtension, RequireExtendsMethodsClassReflectionExtension $requireExtendsMethodsClassReflectionExtension, string $displayName, $reflection, ?string $anonymousFilename, ?TemplateTypeMap $resolvedTemplateTypeMap, ?ResolvedPhpDocBlock $stubPhpDocBlock, array $universalObjectCratesClasses, ?string $extraCacheKey = null, ?TemplateTypeVarianceMap $resolvedCallSiteVarianceMap = null)
    {
        $this->reflectionProvider = $reflectionProvider;
        $this->initializerExprTypeResolver = $initializerExprTypeResolver;
        $this->fileTypeMapper = $fileTypeMapper;
        $this->stubPhpDocProvider = $stubPhpDocProvider;
        $this->phpDocInheritanceResolver = $phpDocInheritanceResolver;
        $this->phpVersion = $phpVersion;
        $this->signatureMapProvider = $signatureMapProvider;
        $this->propertiesClassReflectionExtensions = $propertiesClassReflectionExtensions;
        $this->methodsClassReflectionExtensions = $methodsClassReflectionExtensions;
        $this->allowedSubTypesClassReflectionExtensions = $allowedSubTypesClassReflectionExtensions;
        $this->requireExtendsPropertiesClassReflectionExtension = $requireExtendsPropertiesClassReflectionExtension;
        $this->requireExtendsMethodsClassReflectionExtension = $requireExtendsMethodsClassReflectionExtension;
        $this->displayName = $disp