Exemplo 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 [];
 }
Exemplo n.º 2
0
 public function handleCompleteEvent($e)
 {
     if (!$this->project) {
         return;
     }
     $context = $e->context;
     if ($context->isMethodCall()) {
         list($type, $isThis, $types, $workingNode) = $context->getData();
         // This is kind a workaround, for some reason types are empty
         // and workingNode is not function call when assaigning variable
         // even if (in my opinon) it shoud be (at this event at least).
         // Eg. $model = Mage::getModel( // I would expect this event to be
         // aware that completion should be provided for getModel function,
         // instead its getting useless information about var assign.
         // Unless I'm missing something here...
         $workingNode = $this->helper->findStaticCallNode($workingNode);
         $fqcm = end($types);
         if ($this->checkForContainerClass($fqcm) && $this->shouldComplete($workingNode)) {
             $e->completer = $this->completer;
         }
     }
 }