33namespace Office365 \Generator \Builders ;
44
55use PhpParser \Node ;
6+ use PhpParser \Node \Identifier ;
67use PhpParser \NodeFinder ;
78use PhpParser \NodeTraverser ;
89use PhpParser \NodeVisitorAbstract ;
910use PhpParser \ParserFactory ;
11+ use PhpParser \PhpVersion ;
1012
1113class TemplateContext extends NodeVisitorAbstract
1214{
@@ -86,7 +88,7 @@ private function findNodeByName($nodes, $name){
8688
8789 private function parseTemplate ($ fileName ){
8890 $ template = file_get_contents ($ fileName );
89- $ parser = (new ParserFactory )->create (ParserFactory:: PREFER_PHP5 );
91+ $ parser = (new ParserFactory )->createForVersion (PhpVersion:: fromString ( " 7.1 " ) );
9092 return $ parser ->parse ($ template );
9193 }
9294
@@ -96,22 +98,24 @@ public function enterNode(Node $origNode)
9698 $ node = $ origNode ;
9799 if ($ node instanceof Node \Stmt \Namespace_){
98100 if ($ node ->name instanceof Node \Name){
99- $ node ->name ->parts = explode ("\\" ,$ this ->values ['namespace ' ]);
101+ //$node->name->parts = explode("\\",$this->values['namespace']);
102+ $ node ->name = new Node \Name ($ this ->values ['namespace ' ]);
100103 }
101104 }
102105 elseif ($ node instanceof Node \Stmt \Class_) {
103106 if (isset ($ this ->values ['class ' ]))
104- $ node ->name = $ this ->values ['class ' ];
107+ $ node ->name = new Identifier ( $ this ->values ['class ' ]) ;
105108 }
106109 elseif ($ node instanceof Node \Stmt \ClassMethod) {
107- $ node ->name = $ this ->values ['function ' ];
110+ $ node ->name = new Identifier ( $ this ->values ['function ' ]) ;
108111 }
109112 elseif ($ node instanceof Node \Name) {
110113 /*if($node->parts[0] === "ClientObject" && count($node->parts) > 1) {
111114 $node->parts[0] = $this->values['property'];
112115 }*/
113- if ($ node ->parts [0 ] === "ClientObject " && isset ($ this ->values ['type ' ])) {
114- $ node ->parts [0 ] = $ this ->values ['type ' ];
116+ if ($ node ->getParts ()[0 ] === "ClientObject " && isset ($ this ->values ['type ' ])) {
117+ //$node->parts[0] = $this->values['type'];
118+ $ node ->name = $ this ->values ['type ' ];
115119 }
116120 }
117121 elseif ($ node instanceof Node \Scalar \String_){
0 commit comments