1414use Complete \Resolver \ScopeResolver ;
1515use Parser \Processor \IndexProcessor ;
1616use Parser \Processor \ScopeProcessor ;
17+ use Parser \Processor \ProcessorInterface ;
1718use Psr \Log \LoggerInterface ;
1819
1920class CompleteEngine {
@@ -102,7 +103,6 @@ protected function prepareContent($content, $line, $column){
102103 }
103104
104105 /**
105- *
106106 * @return Scope
107107 */
108108 protected function processFileContent (Project $ project , $ lines , $ line , $ file ){
@@ -127,18 +127,18 @@ protected function processFileContent(Project $project, $lines, $line, $file){
127127 }
128128 if (empty ($ scopeNodes )) {
129129 $ this ->indexProcessor ->clearResultNodes ();
130- $ this ->scopeProcessor ->clearResultNodes ();
131- $ this ->scopeProcessor ->setIndex ($ project ->getIndex ());
132- $ this ->scopeProcessor ->setLine ($ line );
133130 $ parser = $ this ->parser ;
134131 $ parser ->addProcessor ($ this ->indexProcessor );
135- $ parser ->addProcessor ($ this ->scopeProcessor );
136132 $ nodes = $ parser ->parseContent ($ fqcn , $ file , $ content );
137133 $ this ->generator ->processFileNodes (
138134 $ project ->getIndex (),
139135 $ nodes
140136 );
141- $ scopeNodes = $ this ->scopeProcessor ->getResultNodes ();
137+ $ this ->scopeProcessor ->setIndex ($ project ->getIndex ());
138+ $ this ->scopeProcessor ->setLine ($ line );
139+ $ this ->scopeProcessor ->clearResultNodes ();
140+ $ parser ->addProcessor ($ this ->scopeProcessor );
141+ $ scopeNodes = $ parser ->parseContent ($ fqcn , $ file , $ content );
142142 $ contentHash = hash ('sha1 ' , $ content );
143143 $ this ->cachePool [$ file ] = [$ contentHash , $ nodes , $ scopeNodes ];
144144 }
@@ -155,7 +155,9 @@ private function isValidCache($file, $content){
155155 private $ generator ;
156156 private $ contextResolver ;
157157 private $ completerFactory ;
158+ /** @property IndexProcessor */
158159 private $ indexProcessor ;
160+ /** @property ScopeProcessor */
159161 private $ scopeProcessor ;
160162 private $ cachePool ;
161163 private $ logger ;
0 commit comments