Completed
Push — master ( cb2c73...1a2628 )
by Aleh
12s
created

ClassNameCompleter::canHandle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 2
1
<?php
2
3
namespace Padawan\Domain\Completer;
4
5
use Padawan\Domain\Core\Project;
6
use Padawan\Domain\Core\Completion\Context;
7
use Padawan\Domain\Core\Completion\Entry;
8
9
class ClassNameCompleter implements CompleterInterface
10
{
11
    public function getEntries(Project $project, Context $context) {
12
        $entries = [];
13
        $postfix = trim("");
14
        foreach ($project->getIndex()->getClasses() as $fqcn => $class) {
15
            if (!empty($postfix) && strpos($fqcn, $postfix) === false) {
16
                continue;
17
            }
18
            $fqcn = $context->getScope()->getUses()->findAlias($class->fqcn);
19
            $complete = str_replace($postfix, "", $fqcn);
20
            $entries[] = new Entry(
21
                $complete, '', '',
22
                $fqcn
23
            );
24
        }
25
        return $entries;
26
    }
27
28
    public function canHandle(Project $project, Context $context)
29
    {
30
        return $context->isClassName();
31
    }
32
}
33