public function parseMetadata($class, &$fileDependencies)
{
$this->reflection = new ClassType($class);
$this->metadata = new EntityMetadata($class);
$this->primaryKey = [];
$this->loadProperties($fileDependencies);
$this->loadGettersSetters();
// makes id property virtual on entities with composite primary key
if ($this->primaryKey && $this->metadata->hasProperty('id')) {
$this->metadata->getProperty('id')->isVirtual = TRUE;
}
$fileDependencies = array_unique($fileDependencies);
$this->metadata->setPrimaryKey($this->primaryKey ?: ['id']);
return $this->metadata;
}