Home | History | Annotate | Line # | Download | only in indent
psym_switch_expr.c revision 1.6
      1  1.6  rillig /* $NetBSD: psym_switch_expr.c,v 1.6 2023/06/23 20:44:51 rillig Exp $ */
      2  1.1  rillig 
      3  1.1  rillig /*
      4  1.1  rillig  * Tests for the parser symbol psym_switch_expr, which represents the keyword
      5  1.1  rillig  * 'switch' followed by the controlling expression, now waiting for a
      6  1.1  rillig  * statement (usually a block) containing the 'case' labels.
      7  1.1  rillig  */
      8  1.1  rillig 
      9  1.4  rillig //indent run-equals-input
     10  1.2  rillig 
     11  1.2  rillig 
     12  1.2  rillig /*
     13  1.2  rillig  * In all practical cases, a 'switch (expr)' is followed by a block, but the
     14  1.2  rillig  * C syntax allows an arbitrary statement.  Unless such a statement has a
     15  1.6  rillig  * label or is a loop, its beginning is unreachable.
     16  1.2  rillig  */
     17  1.4  rillig //indent input
     18  1.2  rillig void
     19  1.2  rillig function(void)
     20  1.2  rillig {
     21  1.2  rillig 	switch (expr)
     22  1.2  rillig 	if (cond) {
     23  1.2  rillig 	case 1: return;
     24  1.2  rillig 	case 2: break;
     25  1.2  rillig 	}
     26  1.2  rillig }
     27  1.4  rillig //indent end
     28  1.2  rillig 
     29  1.4  rillig //indent run
     30  1.2  rillig void
     31  1.2  rillig function(void)
     32  1.2  rillig {
     33  1.2  rillig 	switch (expr)
     34  1.2  rillig 		if (cond) {
     35  1.2  rillig 	case 1:
     36  1.2  rillig 			return;
     37  1.2  rillig 	case 2:
     38  1.2  rillig 			break;
     39  1.2  rillig 		}
     40  1.2  rillig }
     41  1.4  rillig //indent end
     42  1.5  rillig 
     43  1.5  rillig //indent run -cli-0.375
     44  1.5  rillig void
     45  1.5  rillig function(void)
     46  1.5  rillig {
     47  1.5  rillig 	switch (expr)
     48  1.5  rillig 		if (cond) {
     49  1.5  rillig      case 1:
     50  1.5  rillig 			return;
     51  1.5  rillig      case 2:
     52  1.5  rillig 			break;
     53  1.5  rillig 		}
     54  1.5  rillig }
     55  1.5  rillig //indent end
     56