Esempio n. 1
0
 public function getEntries(Project $project, Context $context)
 {
     list($type, $isThis, $types, $workingNode) = $context->getData();
     // @see Plugin::handleCompleteEvent
     $workingNode = $this->helper->findStaticCallNode($workingNode);
     $methodName = $workingNode->name;
     switch ($methodName) {
         case 'helper':
             return $this->handleType(MageAdapter::TYPE_HELPER);
         case 'getSingleton':
             //Mage::getSingleton()
             //no break;
         //Mage::getSingleton()
         //no break;
         case 'getModel':
             //Mage::gerModel()
             return $this->handleModel();
         case 'getResourceModel':
             //Mage::gerResourceModel()
             return $this->handleType(MageAdapter::TYPE_RESURCE_MODEL);
         case 'getStoreConfig':
             //Mage::getStoreConfig()
             //no break;
         //Mage::getStoreConfig()
         //no break;
         case 'getStoreConfigFlag':
             //Mage::getStoreConfigFlag()
             //not implemented yet!
             break;
     }
     return [];
 }
Esempio n. 2
0
 public function getEntries(Project $project, Context $context)
 {
     $entries = [];
     $postfix = trim($context->getData());
     $index = $project->getIndex();
     $fqcns = array_merge($index->getClasses(), $index->getInterfaces());
     foreach ($fqcns as $fqcn => $class) {
         if (!empty($postfix) && strpos($fqcn, $postfix) === false) {
             continue;
         }
         $complete = str_replace($postfix, "", $fqcn);
         $entries[] = new Entry($complete, '', '', $fqcn);
     }
     return $entries;
 }
 public function getEntries(Project $project, Context $context)
 {
     $entries = [];
     $postfix = trim($context->getData());
     foreach ($project->getIndex()->getFQCNs() as $fqcn) {
         $namespace = $fqcn->getNamespace();
         if (!empty($postfix) && strpos($namespace, $postfix) === false) {
             continue;
         }
         $complete = str_replace($postfix, "", $namespace);
         $entries[$namespace] = new Entry($complete, "", "", $namespace);
     }
     $entries = array_values($entries);
     return $entries;
 }
Esempio n. 4
0
 public function getEntries(Project $project, Context $context)
 {
     /** @var FQCN $fqcn */
     list($fqcn, $isThis) = $context->getData();
     $this->logger->debug('creating static entries');
     if (!$fqcn instanceof FQCN) {
         return [];
     }
     $index = $project->getIndex();
     $this->logger->debug('Creating completion for ' . $fqcn->toString());
     $class = $index->findClassByFQCN($fqcn);
     if (empty($class)) {
         $class = $index->findInterfaceByFQCN($fqcn);
     }
     if (empty($class)) {
         return [];
     }
     $entries = [];
     $spec = new Specification($isThis ? 'private' : 'public', 1);
     if ($class->methods !== null) {
         foreach ($class->methods->all($spec) as $method) {
             $entry = $this->createEntryForMethod($method);
             $entries[$method->name] = $entry;
         }
     }
     if ($class instanceof InterfaceData) {
         return $entries;
     }
     if ($class->properties !== null) {
         foreach ($class->properties->all($spec) as $property) {
             $entries[$property->name] = $this->createEntryForProperty($property);
         }
     }
     if ($class->constants !== null) {
         foreach ($class->constants->all() as $const) {
             $entries[$const] = $this->createEntryForConst($const);
         }
     }
     ksort($entries);
     return $entries;
 }