<?php

return array (
  0 => 
  array (
    'file' => '/home/dotxp/dev/PHP/actual/ezcomponents/trunk/backtrace.php',
    'line' => 38,
    'function' => 'testStatic',
    'class' => 'DebugTestFormatterClass',
    'type' => '::',
    'args' => 
    array (
    ),
  ),
  1 => 
  array (
    'file' => '/home/dotxp/dev/PHP/actual/ezcomponents/trunk/backtrace.php',
    'line' => 33,
    'function' => 'fooBaz',
    'class' => 'DebugTestFormatterClass',
    'object' => 
    DebugTestFormatterClass::__set_state(array(
    )),
    'type' => '->',
    'args' => 
    array (
      0 => 23,
      1 => 
      array (
        0 => 23,
        1 => NULL,
        2 => 1,
        3 => 2,
        4 => 
        array (
          0 => 'a',
          1 => 'b',
          2 => true,
          3 => 
          DebugTestFormatterContainerClass::__set_state(array(
          )),
        ),
        5 => 
        array (
          0 => 23.42,
          1 => false,
          2 => NULL,
          3 => 'test',
          4 => 
          array (
            0 => 'deep',
            1 => 'deeper',
            2 => 'deepest',
          ),
        ),
      ),
    ),
  ),
  2 => 
  array (
    'file' => '/home/dotxp/dev/PHP/actual/ezcomponents/trunk/backtrace.php',
    'line' => 69,
    'function' => 'fooBar',
    'class' => 'DebugTestFormatterClass',
    'object' => 
    DebugTestFormatterClass::__set_state(array(
    )),
    'type' => '->',
    'args' => 
    array (
    ),
  ),
  3 => 
  array (
    'file' => '/home/dotxp/dev/PHP/actual/ezcomponents/trunk/backtrace.php',
    'line' => 72,
    'function' => 'testDebugFormatter',
    'args' => 
    array (
      0 => 'test',
    ),
  ),
);

?>
