<?php
 
 
 

namespace Google\Protobuf\Internal\SourceCodeInfo;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;




class Location extends \Google\Protobuf\Internal\Message
{
    
























    private $path;
    








    private $span;
    







































    protected $leading_comments = null;
    


    protected $trailing_comments = null;
    


    private $leading_detached_comments;

    










































































    public function __construct($data = NULL) {
        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
        parent::__construct($data);
    }

    

























    public function getPath()
    {
        return $this->path;
    }

    


























    public function setPath($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->path = $arr;

        return $this;
    }

    









    public function getSpan()
    {
        return $this->span;
    }

    










    public function setSpan($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->span = $arr;

        return $this;
    }

    








































    public function getLeadingComments()
    {
        return isset($this->leading_comments) ? $this->leading_comments : '';
    }

    public function hasLeadingComments()
    {
        return isset($this->leading_comments);
    }

    public function clearLeadingComments()
    {
        unset($this->leading_comments);
    }

    









































    public function setLeadingComments($var)
    {
        GPBUtil::checkString($var, True);
        $this->leading_comments = $var;

        return $this;
    }

    



    public function getTrailingComments()
    {
        return isset($this->trailing_comments) ? $this->trailing_comments : '';
    }

    public function hasTrailingComments()
    {
        return isset($this->trailing_comments);
    }

    public function clearTrailingComments()
    {
        unset($this->trailing_comments);
    }

    




    public function setTrailingComments($var)
    {
        GPBUtil::checkString($var, True);
        $this->trailing_comments = $var;

        return $this;
    }

    



    public function getLeadingDetachedComments()
    {
        return $this->leading_detached_comments;
    }

    




    public function setLeadingDetachedComments($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->leading_detached_comments = $arr;

        return $this;
    }

}

