function __construct(parent $parent, $file, &$new_consts = array())
 {
     if ($file) {
         $this->file = self::export($file);
         $this->dir = self::export(dirname($file));
     } else {
         unset($this->callbacks['tagFileC'], $this->callbacks['tagLineC']);
     }
     $file = self::$staticConsts;
     self::loadConsts($new_consts);
     $this->constants = self::$staticConsts;
     self::$staticConsts = $file;
     $this->newConsts =& $new_consts;
     parent::__construct($parent);
 }
 static function __init()
 {
     foreach (get_declared_classes() as $v) {
         $v = strtolower($v);
         if (false !== strpos($v, 'patchwork')) {
             continue;
         }
         if ('p' === $v) {
             break;
         }
         self::$declaredClass[] = $v;
     }
     foreach (self::$parsers as $k => $v) {
         is_bool($v) || ($v = self::$parsers[$k] = 0 > $v ? PHP_VERSION_ID < -$v : PHP_VERSION_ID >= $v);
         $v && class_exists('Patchwork_PHP_Parser_' . $k);
     }
     if (file_exists($v = PATCHWORK_PROJECT_PATH . ".patchwork.overrides.ser")) {
         $v = unserialize(file_get_contents($v));
         Patchwork_PHP_Parser_FunctionOverriding::loadOverrides($v[0]);
         Patchwork_PHP_Parser_ConstantInliner::loadConsts($v[1]);
     }
 }
 function getOverrides()
 {
     $o = $this->newOverrides;
     $this->newOverrides = array(array(), array());
     return array(Patchwork_PHP_Parser_FunctionOverriding::loadOverrides($o[0]), Patchwork_PHP_Parser_ConstantInliner::loadConsts($o[1]));
 }