@@ -250,7 +250,7 @@ def acceptFunctionMethodDecl(self, node, memo):
250250 ident = node .firstChildOfType (tokens .IDENT )
251251 type = node .firstChildOfType (tokens .TYPE ).children [0 ].text
252252 mods = node .firstChildOfType (tokens .MODIFIER_LIST )
253- return self .factory .method (name = ident .text , type = type , parent = self )
253+ return self .factory .method (name = ident .text , type = type , parent = self )
254254
255255 def acceptVoidMethodDecl (self , node , memo ):
256256 """ Accept and process a void method declaration. """
@@ -456,7 +456,7 @@ def acceptSwitch(self, node, memo):
456456 if not len (caseNodes ):
457457 return
458458 # we have at least one node...
459- parExpr = self .factory .expr ()
459+ parExpr = self .factory .expr (parent = self )
460460 parExpr .walk (parNode )
461461 eqFs = FS .l + '==' + FS .r
462462 for caseIdx , caseNode in enumerate (caseNodes ):
@@ -470,7 +470,7 @@ def acceptSwitch(self, node, memo):
470470 caseExpr = self .factory .statement ('else' , fs = FS .lc , parent = self )
471471
472472 if not isDefault :
473- right = self .factory .expr ()
473+ right = self .factory .expr (parent = parExpr )
474474 right .walk (caseNode .firstChildOfType (tokens .EXPR ))
475475 caseExpr .expr .right = self .factory .expr (left = parExpr , right = right , fs = eqFs )
476476 caseContent = self .factory .methodContent (parent = self )
@@ -486,6 +486,7 @@ def acceptSwitch(self, node, memo):
486486 caseContent .walk (child , memo )
487487 if not caseNode .children :
488488 self .factory .expr (left = 'pass' , parent = caseContent )
489+ self .children .remove (parExpr )
489490
490491 def acceptThrow (self , node , memo ):
491492 """ Accept and process a throw statement. """
0 commit comments