[refactoring] update ast structure of "Throw" node
This commit is contained in:
		
							parent
							
								
									80aa328386
								
							
						
					
					
						commit
						48aaa7cc47
					
				
							
								
								
									
										913
									
								
								internal/php5/php5.go
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										913
									
								
								internal/php5/php5.go
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1167,15 +1167,14 @@ unticked_statement: | ||||
|             } | ||||
|     |   T_THROW expr ';' | ||||
|             { | ||||
|                 $$ = &ast.StmtThrow{ast.Node{}, $2} | ||||
| 
 | ||||
|                 // save position | ||||
|                 $$.GetNode().Position = position.NewTokensPosition($1, $3) | ||||
| 
 | ||||
|                 // save comments | ||||
|                 yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) | ||||
|                 yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) | ||||
|                 yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) | ||||
|                 $$ = &ast.StmtThrow{ | ||||
|                     Node: ast.Node{ | ||||
|                         Position: position.NewTokensPosition($1, $3), | ||||
|                     }, | ||||
|                     ThrowTkn:     $1, | ||||
|                     Expr:         $2, | ||||
|                     SemiColonTkn: $3, | ||||
|                 } | ||||
|             } | ||||
|     |   T_GOTO T_STRING ';' | ||||
|             { | ||||
|  | ||||
							
								
								
									
										1005
									
								
								internal/php7/php7.go
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1005
									
								
								internal/php7/php7.go
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1077,15 +1077,14 @@ statement: | ||||
|             } | ||||
|     |   T_THROW expr ';' | ||||
|             { | ||||
|                 $$ = &ast.StmtThrow{ast.Node{}, $2} | ||||
| 
 | ||||
|                 // save position | ||||
|                 $$.GetNode().Position = position.NewTokensPosition($1, $3) | ||||
| 
 | ||||
|                 // save comments | ||||
|                 yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) | ||||
|                 yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) | ||||
|                 yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens) | ||||
|                 $$ = &ast.StmtThrow{ | ||||
|                     Node: ast.Node{ | ||||
|                         Position: position.NewTokensPosition($1, $3), | ||||
|                     }, | ||||
|                     ThrowTkn:     $1, | ||||
|                     Expr:         $2, | ||||
|                     SemiColonTkn: $3, | ||||
|                 } | ||||
|             } | ||||
|     |   T_GOTO T_STRING ';' | ||||
|             { | ||||
|  | ||||
| @ -709,7 +709,9 @@ func (n *StmtSwitch) Accept(v NodeVisitor) { | ||||
| // StmtThrow node | ||||
| type StmtThrow struct { | ||||
| 	Node | ||||
| 	Expr Vertex | ||||
| 	ThrowTkn     *token.Token | ||||
| 	Expr         Vertex | ||||
| 	SemiColonTkn *token.Token | ||||
| } | ||||
| 
 | ||||
| func (n *StmtThrow) Accept(v NodeVisitor) { | ||||
|  | ||||
| @ -260,3 +260,8 @@ func (v *FilterTokens) StmtFinally(n *ast.StmtFinally) { | ||||
| 	n.OpenCurlyBracketTkn = nil | ||||
| 	n.CloseCurlyBracketTkn = nil | ||||
| } | ||||
| 
 | ||||
| func (v *FilterTokens) StmtThrow(n *ast.StmtThrow) { | ||||
| 	n.ThrowTkn = nil | ||||
| 	n.SemiColonTkn = nil | ||||
| } | ||||
|  | ||||
| @ -2674,23 +2674,11 @@ func (p *Printer) printStmtAltSwitch(n *ast.StmtSwitch) { | ||||
| 	p.printToken(n.SemiColonTkn, ";") | ||||
| } | ||||
| 
 | ||||
| func (p *Printer) printStmtThrow(n ast.Vertex) { | ||||
| 	nn := n.(*ast.StmtThrow) | ||||
| 	p.printFreeFloating(nn, token.Start) | ||||
| 
 | ||||
| 	p.write([]byte("throw")) | ||||
| 	if nn.Expr.GetNode().Tokens.IsEmpty() { | ||||
| 		p.write([]byte(" ")) | ||||
| 	} | ||||
| 	p.Print(nn.Expr) | ||||
| 	p.printFreeFloating(nn, token.Expr) | ||||
| 
 | ||||
| 	p.printFreeFloating(nn, token.SemiColon) | ||||
| 	if n.GetNode().Tokens.IsEmpty() { | ||||
| 		p.write([]byte(";")) | ||||
| 	} | ||||
| 
 | ||||
| 	p.printFreeFloating(nn, token.End) | ||||
| func (p *Printer) printStmtThrow(n *ast.StmtThrow) { | ||||
| 	p.printToken(n.ThrowTkn, "throw") | ||||
| 	p.bufStart = " " | ||||
| 	p.Print(n.Expr) | ||||
| 	p.printToken(n.SemiColonTkn, ";") | ||||
| } | ||||
| 
 | ||||
| func (p *Printer) printStmtTraitAdaptationList(n ast.Vertex) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user