예제 #1
0
 /**
  * 复制一个函数的参数表token
  */
 private function cloneFunctionArgvLst(TokenPool $aTokenPool, FunctionDefine $aOriFunctionDefine)
 {
     $aArgLstStart = $aOriFunctionDefine->argListToken();
     $aArgLstEnd = $aArgLstStart->theOther();
     $aIter = $aTokenPool->iterator();
     $nPos = $aIter->search($aArgLstStart);
     if ($nPos === false) {
         return array();
     }
     $aIter->seek($nPos);
     $aIter->next();
     $arrNewTokens = array();
     while ($aToken = $aIter->current() and $aToken !== $aArgLstEnd) {
         $aNewToken = new Token(0, '', 0);
         $aNewToken->cloneOf($aToken);
         $arrNewTokens[] = $aNewToken;
         $aIter->next();
     }
     return $arrNewTokens;
 }