Skip to content

Commit

Permalink
Fixed module interface implementation parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
rmolodyko committed Oct 3, 2016
1 parent f1f6ad9 commit 84b76d2
Showing 1 changed file with 25 additions and 25 deletions.
50 changes: 25 additions & 25 deletions src/ResourceMap.php
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,31 @@ public function isClass($path, &$class = '', &$extends = '')
'path' => $path,
'className' => $class,
];

// Handle implements interfaces
if (array_key_exists('implements', $matches)) {
// Store implementing interface
$implements = explode(',', trim($matches['implements']));

$this->classData[$path]['implements'] = [];

foreach ($implements as $implement) {
$implement = trim($implement);
// If we have alias for this class
if (isset($usesAliases[$implement])) {
// Get full class name
$implement = $usesAliases[$implement];
// Get full class name
} elseif (isset($usesNamespaces[$implement])) {
$implement = $usesNamespaces[$implement];
// If there is no namespace
} elseif (strpos($implement, '\\') === false) {
$implement = $namespace . $implement;
}

$this->classData[$path]['implements'][] = $implement;
}
}

if (array_key_exists('parent', $matches)) {
// Store parent class
Expand Down Expand Up @@ -290,31 +315,6 @@ public function isClass($path, &$class = '', &$extends = '')
}
}

// Handle implements interfaces
if (array_key_exists('implements', $matches)) {
// Store implementing interface
$implements = explode(',', trim($matches['implements']));

$this->classData[$path]['implements'] = [];

foreach ($implements as $implement) {
$implement = trim($implement);
// If we have alias for this class
if (isset($usesAliases[$implement])) {
// Get full class name
$implement = $usesAliases[$implement];
// Get full class name
} elseif (isset($usesNamespaces[$implement])) {
$implement = $usesNamespaces[$implement];
// If there is no namespace
} elseif (strpos($implement, '\\') === false) {
$implement = $namespace . $implement;
}

$this->classData[$path]['implements'][] = $implement;
}
}

// Add class to classes array
$this->classes[$path] = $class;

Expand Down

0 comments on commit 84b76d2

Please sign in to comment.