44
55use Parser \UseParser ;
66use Parser \CommentParser ;
7- use Complete \Resolver \NodeTypeResolver ;
87use Parser \ParamParser ;
8+ use Parser \NamespaceParser ;
9+ use Complete \Resolver \NodeTypeResolver ;
910
1011use Entity \FQCN ;
1112use Entity \Index ;
2122use PhpParser \Node \Expr \Assign ;
2223use PhpParser \Node \Stmt \Use_ ;
2324use PhpParser \Node \Stmt \Class_ ;
25+ use PhpParser \Node \Stmt \Namespace_ ;
2426use PhpParser \Node \Stmt \ClassMethod ;
2527use PhpParser \Node \Expr \Closure ;
2628
@@ -29,13 +31,15 @@ public function __construct(
2931 UseParser $ useParser ,
3032 NodeTypeResolver $ typeResolver ,
3133 CommentParser $ commentParser ,
32- ParamParser $ paramParser
34+ ParamParser $ paramParser ,
35+ NamespaceParser $ namespaceParser
3336 ){
3437 $ this ->resultNodes = [];
3538 $ this ->useParser = $ useParser ;
3639 $ this ->typeResolver = $ typeResolver ;
3740 $ this ->commentParser = $ commentParser ;
3841 $ this ->paramParser = $ paramParser ;
42+ $ this ->namespaceParser = $ namespaceParser ;
3943 }
4044 public function setLine ($ line ){
4145 $ this ->line = $ line ;
@@ -48,6 +52,9 @@ public function enterNode(Node $node){
4852 if ($ node instanceof Class_){
4953 $ this ->createScopeFromClass ($ node );
5054 }
55+ elseif ($ node instanceof Namespace_){
56+ $ this ->namespaceParser ->parse ($ node );
57+ }
5158 elseif ($ node instanceof ClassMethod){
5259 $ this ->createScopeFromMethod ($ node );
5360 }
@@ -197,4 +204,5 @@ protected function createScope(){
197204 private $ commentParser ;
198205 /** @property ParamParser */
199206 private $ paramParser ;
207+ private $ namespaceParser ;
200208}
0 commit comments