public function addProperty(
        string $propertyName,
        int $visibility = CoreReflectionProperty::IS_PUBLIC,
        bool $static = false
    ) : void {
        $type = 0;
        switch ($visibility) {
            case CoreReflectionProperty::IS_PRIVATE:
                $type |= ClassNode::MODIFIER_PRIVATE;
                break;
            case CoreReflectionProperty::IS_PROTECTED:
                $type |= ClassNode::MODIFIER_PROTECTED;
                break;
            default:
                $type |= ClassNode::MODIFIER_PUBLIC;
                break;
        }

        if ($static) {
            $type |= ClassNode::MODIFIER_STATIC;
        }

        $this->node->stmts[]             = new PropertyNode($type, [new Node\Stmt\PropertyProperty($propertyName)]);
        $this->cachedProperties          = null;
        $this->cachedImmediateProperties = null;
    }
public function addProperty(
        string $propertyName,
        int $visibility = CoreReflectionProperty::IS_PUBLIC,
        bool $static = false
    ) : void {
        $type = 0;
        switch ($visibility) {
            case CoreReflectionProperty::IS_PRIVATE:
                $type |= ClassNode::MODIFIER_PRIVATE;
                break;
            case CoreReflectionProperty::IS_PROTECTED:
                $type |= ClassNode::MODIFIER_PROTECTED;
                break;
            default:
                $type |= ClassNode::MODIFIER_PUBLIC;
                break;
        }

        if ($static) {
            $type |= ClassNode::MODIFIER_STATIC;
        }

        $this->node->stmts[]             = new PropertyNode($type, [new Node\Stmt\PropertyProperty($propertyName)]);
        $this->cachedProperties          = null;
        $this->cachedImmediateProperties = null;
    }
public function addProperty ( string $ propertyName , int $ visibility = CoreReflectionProperty :: IS_PUBLIC , bool $ static = false ) : void { $ type = 0 ; switch ( $ visibility ) { case CoreReflectionProperty :: IS_PRIVATE : $ type |= ClassNode :: MODIFIER_PRIVATE ; break ; case CoreReflectionProperty :: IS_PROTECTED : $ type |= ClassNode :: MODIFIER_PROTECTED ; break ; default : $ type |= ClassNode :: MODIFIER_PUBLIC ; break ; } if ( $ static ) { $ type |= ClassNode :: MODIFIER_STATIC ; } $ this -> node -> stmts [ ] = new PropertyNode ( $ type , [ new Node \ Stmt \ PropertyProperty ( $ propertyName ) ] ) ; $ this -> cachedProperties = null ; $ this -> cachedImmediateProperties = null ; }
Add a new property to the class.

Visibility defaults to \ReflectionProperty::IS_PUBLIC, or can be ::IS_PROTECTED or ::IS_PRIVATE.
Add a new property to the class .