Summary: Adapted the AST to reflect the official [documentation](https://erlang.org/doc/apps/erts/absform.html): a clause can have a *guard sequence*, which is a list of *guards*. Each *guard* is a list of *guard tests*. A *guard test* is a (restricted) expression. Therefore, in the AST we now have `guard_test = expression`, and a clause has `guard_test list list`. Furthermore, the JSON translator simply applies `to_expression` to the 2D list, instead of flattening one level with `andalso`. Using `andalso` to flatten was wrong because it handles exceptions differently, see [note](https://learnyousomeerlang.com/syntax-in-functions#guards-guards). Reviewed By: rgrig Differential Revision: D28936558 fbshipit-source-id: 510930998master
							parent
							
								
									3eb6e0d344
								
							
						
					
					
						commit
						849c49280f
					
				
					Loading…
					
					
				
		Reference in new issue