Home | History | Annotate | Line # | Download | only in indent
      1  1.4  rillig /* $NetBSD: lsym_return.c,v 1.4 2022/04/24 09:04:12 rillig Exp $ */
      2  1.1  rillig 
      3  1.1  rillig /*
      4  1.1  rillig  * Tests for the token lsym_return, which represents the keyword 'return' that
      5  1.1  rillig  * starts a 'return' statement for leaving the execution of a function.
      6  1.1  rillig  */
      7  1.1  rillig 
      8  1.2  rillig /*
      9  1.2  rillig  * Return statements having a single-line expression are simple to format.
     10  1.2  rillig  * Since 'return' is not a function name, there is a space between the
     11  1.2  rillig  * 'return' and the '('.
     12  1.2  rillig  */
     13  1.4  rillig //indent input
     14  1.2  rillig void
     15  1.2  rillig function(bool cond)
     16  1.2  rillig {
     17  1.2  rillig 	if (cond)
     18  1.2  rillig 		return;
     19  1.2  rillig }
     20  1.2  rillig 
     21  1.2  rillig int
     22  1.2  rillig calculate(int a, int b)
     23  1.2  rillig {
     24  1.2  rillig 	return a;
     25  1.2  rillig 	return (b);
     26  1.2  rillig 	return (((a))) + b;
     27  1.2  rillig 	return calculate(b, a);
     28  1.2  rillig }
     29  1.4  rillig //indent end
     30  1.1  rillig 
     31  1.4  rillig //indent run-equals-input
     32  1.2  rillig 
     33  1.2  rillig 
     34  1.2  rillig /*
     35  1.2  rillig  * Returning complex expressions may spread the expression over several lines.
     36  1.2  rillig  * The exact formatting depends on the option '-lp'.
     37  1.2  rillig  */
     38  1.4  rillig //indent input
     39  1.2  rillig int
     40  1.2  rillig multi_line(int a)
     41  1.2  rillig {
     42  1.2  rillig 	return calculate(3,
     43  1.2  rillig 			 4);
     44  1.2  rillig 	return calculate(
     45  1.2  rillig 			 3,
     46  1.2  rillig 			 4);
     47  1.2  rillig 	return calculate(
     48  1.2  rillig 			 3,
     49  1.2  rillig 			 4
     50  1.2  rillig 		);
     51  1.2  rillig }
     52  1.4  rillig //indent end
     53  1.2  rillig 
     54  1.4  rillig //indent run-equals-input
     55  1.2  rillig 
     56  1.4  rillig //indent run -nlp
     57  1.2  rillig int
     58  1.2  rillig multi_line(int a)
     59  1.2  rillig {
     60  1.2  rillig 	return calculate(3,
     61  1.2  rillig 		4);
     62  1.2  rillig 	return calculate(
     63  1.2  rillig 		3,
     64  1.2  rillig 		4);
     65  1.2  rillig 	return calculate(
     66  1.2  rillig 		3,
     67  1.2  rillig 		4
     68  1.2  rillig 		);
     69  1.2  rillig }
     70  1.4  rillig //indent end
     71