| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?php namespace Sieve;require_once('SieveToken.php');use Exception;class SieveException extends Exception{    protected $token_;    public function __construct(SieveToken $token, $arg)    {        $message = 'undefined sieve exception';        $this->token_ = $token;        if (is_string($arg))        {            $message = $arg;        }        else        {            if (is_array($arg))            {                $type = SieveToken::typeString(array_shift($arg));                foreach($arg as $t)                {                    $type .= ' or '. SieveToken::typeString($t);                }            }            else            {                $type = SieveToken::typeString($arg);            }            $tokenType = SieveToken::typeString($token->type);            $message = "$tokenType where $type expected near ". $token->text;        }        parent::__construct('line '. $token->line .": $message");    }    public function getLineNo()    {        return $this->token_->line;    }}
 |