blob: 7411e915067aaf1403eb9f8606cd79a7035f9c43 [file] [log] [blame]
<?php
/**
* File containing the ezcTemplateTryAstNode class
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @package Template
* @version //autogen//
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @access private
*/
/**
* Represents a try control structure.
*
* @package Template
* @version //autogen//
* @access private
*/
class ezcTemplateTryAstNode extends ezcTemplateStatementAstNode
{
/**
* The body element.
* @var ezcTemplateBodyAstNode
*/
public $body;
/**
* Array of catche statements which are placed after the try body.
* @var array(ezcTemplateCatchAstNode)
*/
public $catches;
/**
* Initialize with function name code and optional arguments
*
* @param ezcTemplateBodyAstNode $body
* @param array(ezcTemplateCatchAstNode) $catches
*/
public function __construct( ezcTemplateBodyAstNode $body = null, Array $catches = null )
{
parent::__construct();
$this->body = $body;
$this->catches = array();
if ( $catches !== null )
{
foreach ( $catches as $id => $catch )
{
if ( !$catch instanceof ezcTemplateCatchAstNode )
{
throw new ezcBaseValueException( "catches[$id]", $catch, 'ezcTemplateCatchAstNode' );
}
$this->catches[] = $catch;
}
}
}
}
?>