public function getAllClassNames()
{
if (is_array($this->classNames)) {
return $this->classNames;
}
$this->classNames = array_merge($this->reflectionService->getClassNamesByAnnotation(Flow\ValueObject::class), $this->reflectionService->getClassNamesByAnnotation(Flow\Entity::class), $this->reflectionService->getClassNamesByAnnotation(ORM\Entity::class), $this->reflectionService->getClassNamesByAnnotation(ORM\MappedSuperclass::class), $this->reflectionService->getClassNamesByAnnotation(ORM\Embeddable::class));
$this->classNames = array_filter($this->classNames, function ($className) {
return !interface_exists($className, false) && strpos($className, Compiler::ORIGINAL_CLASSNAME_SUFFIX) === false;
});
return $this->classNames;
}