コード例 #1
0
ファイル: func.cpp プロジェクト: GitOrganization/hiphop-php
Func* Func::clone() const {
  Func* f = new (allocFuncMem(
        m_name,
        m_numParams,
        isClosureBody() || isGeneratorFromClosure()
  )) Func(*this);
  f->initPrologues(m_numParams, isGenerator());
  f->m_funcId = InvalidFuncId;
  return f;
}
コード例 #2
0
ファイル: func.cpp プロジェクト: BwRy/hhvm
Func* Func::clone(Class* cls, const StringData* name) const {
  auto numParams = this->numParams();
  Func* f = new (allocFuncMem(
                   m_name,
                   numParams,
                   isClosureBody(),
                   cls || !preClass())) Func(*this);

  f->initPrologues(numParams);
  f->m_funcId = InvalidFuncId;
  if (name) {
    f->m_name = name;
  }
  if (cls != f->m_cls) {
    f->m_cls = cls;
  }
  f->setFullName(numParams);
  f->m_profCounter = 0;
  return f;
}
コード例 #3
0
ファイル: func.cpp プロジェクト: mediaprojects/hiphop-php
Func* Func::clone() const {
  Func* f = new (allocFuncMem(m_name, m_numParams)) Func(*this);
  f->initPrologues(m_numParams);
  f->m_funcId = InvalidId;
  return f;
}