internal: fixed parsing of anonymous classes
Since now 'ctor_arguments' returns nil, it is necessary to initialize it to avoid panics.
This commit is contained in:
		
							parent
							
								
									61523ab396
								
							
						
					
					
						commit
						78492f6456
					
				
							
								
								
									
										4
									
								
								internal/php7/php7.go
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								internal/php7/php7.go
									
									
									
										generated
									
									
									
								
							| @ -4935,6 +4935,10 @@ yydefault: | |||||||
| 		yyDollar = yyS[yypt-8 : yypt+1] | 		yyDollar = yyS[yypt-8 : yypt+1] | ||||||
| 		// line internal/php7/php7.y:2499 | 		// line internal/php7/php7.y:2499 | ||||||
| 		{ | 		{ | ||||||
|  | 			if yyDollar[2].node == nil { | ||||||
|  | 				yyDollar[2].node = &ArgumentList{} | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
| 			class := &ast.StmtClass{ | 			class := &ast.StmtClass{ | ||||||
| 				Position:             yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), | 				Position:             yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), | ||||||
| 				ClassTkn:             yyDollar[1].token, | 				ClassTkn:             yyDollar[1].token, | ||||||
|  | |||||||
| @ -2497,6 +2497,10 @@ non_empty_for_exprs: | |||||||
| anonymous_class: | anonymous_class: | ||||||
|         T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' |         T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' | ||||||
|             { |             { | ||||||
|  |             	if $2 == nil { | ||||||
|  |             	    $2 = &ArgumentList{} | ||||||
|  |             	} | ||||||
|  | 
 | ||||||
|                 class := &ast.StmtClass{ |                 class := &ast.StmtClass{ | ||||||
|                     Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), |                     Position: yylex.(*Parser).builder.NewTokensPosition($1, $8), | ||||||
|                     ClassTkn:             $1, |                     ClassTkn:             $1, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user