PHP 8.2.31
Preview: Class_.php Size: 3.14 KB
//opt/cpanel/ea-wappspector/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php

<?php declare(strict_types=1);

namespace PhpParser\Node\Stmt;

use PhpParser\Modifiers;
use PhpParser\Node;

class Class_ extends ClassLike {
    /** @deprecated Use Modifiers::PUBLIC instead */
    public const MODIFIER_PUBLIC    =  1;
    /** @deprecated Use Modifiers::PROTECTED instead */
    public const MODIFIER_PROTECTED =  2;
    /** @deprecated Use Modifiers::PRIVATE instead */
    public const MODIFIER_PRIVATE   =  4;
    /** @deprecated Use Modifiers::STATIC instead */
    public const MODIFIER_STATIC    =  8;
    /** @deprecated Use Modifiers::ABSTRACT instead */
    public const MODIFIER_ABSTRACT  = 16;
    /** @deprecated Use Modifiers::FINAL instead */
    public const MODIFIER_FINAL     = 32;
    /** @deprecated Use Modifiers::READONLY instead */
    public const MODIFIER_READONLY  = 64;

    /** @deprecated Use Modifiers::VISIBILITY_MASK instead */
    public const VISIBILITY_MODIFIER_MASK = 7; // 1 | 2 | 4

    /** @var int Modifiers */
    public int $flags;
    /** @var null|Node\Name Name of extended class */
    public ?Node\Name $extends;
    /** @var Node\Name[] Names of implemented interfaces */
    public array $implements;

    /**
     * Constructs a class node.
     *
     * @param string|Node\Identifier|null $name Name
     * @param array{
     *     flags?: int,
     *     extends?: Node\Name|null,
     *     implements?: Node\Name[],
     *     stmts?: Node\Stmt[],
     *     attrGroups?: Node\AttributeGroup[],
     * } $subNodes Array of the following optional subnodes:
     *             'flags'       => 0      : Flags
     *             'extends'     => null   : Name of extended class
     *             'implements'  => array(): Names of implemented interfaces
     *             'stmts'       => array(): Statements
     *             'attrGroups'  => array(): PHP attribute groups
     * @param array<string, mixed> $attributes Additional attributes
     */
    public function __construct($name, array $subNodes = [], array $attributes = []) {
        $this->attributes = $attributes;
        $this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0;
        $this->name = \is_string($name) ? new Node\Identifier($name) : $name;
        $this->extends = $subNodes['extends'] ?? null;
        $this->implements = $subNodes['implements'] ?? [];
        $this->stmts = $subNodes['stmts'] ?? [];
        $this->attrGroups = $subNodes['attrGroups'] ?? [];
    }

    public function getSubNodeNames(): array {
        return ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts'];
    }

    /**
     * Whether the class is explicitly abstract.
     */
    public function isAbstract(): bool {
        return (bool) ($this->flags & Modifiers::ABSTRACT);
    }

    /**
     * Whether the class is final.
     */
    public function isFinal(): bool {
        return (bool) ($this->flags & Modifiers::FINAL);
    }

    public function isReadonly(): bool {
        return (bool) ($this->flags & Modifiers::READONLY);
    }

    /**
     * Whether the class is anonymous.
     */
    public function isAnonymous(): bool {
        return null === $this->name;
    }

    public function getType(): string {
        return 'Stmt_Class';
    }
}

Directory Contents

Dirs: 1 × Files: 47

Name Size Perms Modified Actions
- drwxr-xr-x 2025-12-06 11:56:16
Edit Download
646 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
698 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
869 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.09 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
2.08 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
2.97 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
4.61 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
3.14 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
967 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
713 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
333 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
912 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
819 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
659 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
826 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
662 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.14 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.54 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
726 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
670 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.67 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.40 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
2.61 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
678 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
757 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.04 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
768 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.36 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
659 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.29 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
719 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
957 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
295 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
3.35 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
339 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
679 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
305 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
721 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
808 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
889 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
293 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.05 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.02 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
670 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
309 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.41 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
822 B lrw-r--r-- 2025-12-06 11:56:16
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).