public function createEntityBuilder($entityName) { if ($entityName instanceof ClassInterface) { $entityClass = $entityName; } else { $entityClass = new GClass($this->getDefaultNamespace() . '\\' . ltrim($entityName, '\\')); } $this->originalEntityClass = $entityClass; $this->originalEntityName = $entityClass->getClassName(); $compiledEntityClass = clone $entityClass; $compiledEntityClass->setClassName('Compiled' . ucfirst($this->originalEntityName)); $eb = new EntityBuilder($compiledEntityClass, $this->module, $this->classWriter, NULL, $this->getLanguages()); $file = $eb->inferFile($eb->getGClass()); if ($file->exists()) { $file->delete(); } return $eb; }