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 []; }
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; }
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; }