Вход Регистрация
Файл: gapps/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php
Строк: 77
<?php

namespace PhpParserBuilder;

use 
PhpParser;
use 
PhpParserNodeStmt;

class 
Property extends PhpParserBuilderAbstract
{
    protected 
$name;

    protected 
$type 0;
    protected 
$default null;
    protected 
$attributes = array();

    
/**
     * Creates a property builder.
     *
     * @param string $name Name of the property
     */
    
public function __construct($name) {
        
$this->name $name;
    }

    
/**
     * Makes the property public.
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function makePublic() {
        
$this->setModifier(StmtClass_::MODIFIER_PUBLIC);

        return 
$this;
    }

    
/**
     * Makes the property protected.
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function makeProtected() {
        
$this->setModifier(StmtClass_::MODIFIER_PROTECTED);

        return 
$this;
    }

    
/**
     * Makes the property private.
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function makePrivate() {
        
$this->setModifier(StmtClass_::MODIFIER_PRIVATE);

        return 
$this;
    }

    
/**
     * Makes the property static.
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function makeStatic() {
        
$this->setModifier(StmtClass_::MODIFIER_STATIC);

        return 
$this;
    }

    
/**
     * Sets default value for the property.
     *
     * @param mixed $value Default value to use
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function setDefault($value) {
        
$this->default $this->normalizeValue($value);

        return 
$this;
    }

    
/**
     * Sets doc comment for the property.
     *
     * @param PhpParserCommentDoc|string $docComment Doc comment to set
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function setDocComment($docComment) {
        
$this->attributes = array(
            
'comments' => array($this->normalizeDocComment($docComment))
        );

        return 
$this;
    }

    
/**
     * Returns the built class node.
     *
     * @return StmtProperty The built property node
     */
    
public function getNode() {
        return new 
StmtProperty(
            
$this->type !== $this->type StmtClass_::MODIFIER_PUBLIC,
            array(
                new 
StmtPropertyProperty($this->name$this->default)
            ),
            
$this->attributes
        
);
    }
}
Онлайн: 1
Реклама