View Javadoc
1   /*
2   FinalLocalVariable
3   validateEnhancedForLoopVariable = (default)false
4   tokens = (default)VARIABLE_DEF
5   
6   
7   */
8   
9   package com.puppycrawl.tools.checkstyle.checks.coding.finallocalvariable;
10  
11  import java.util.ArrayList;
12  
13  public class InputFinalLocalVariableAssignedInsideAndOutsideSwitch {
14  
15      private static void foo1(final int[][] m, final int x, final int y,
16                                  final int d, final int[] regionSizes) {
17          final int a = m[y][x] & 1;
18          int b;
19          switch (d) {
20              case 1:
21                  b = m[y - 1][x];
22                  break;
23              case 2:
24                  b = m[y][x - 1];
25                  break;
26              case 3:
27                  b = m[y][x + 1];
28                  break;
29              default:
30                  b = m[y + 1][x];
31                  break;
32          }
33          b &= 5;
34      }
35  
36      private static void foo2(final int[][] m, final int x, final int y,
37                                  final int d, final int[] regionSizes) {
38          final int a = m[y][x] & 1;
39          int b; // violation
40          switch (d) {
41              case 1:
42                  break;
43              case 2:
44                  b = m[y][x - 1];
45                  break;
46              case 3:
47                  b = m[y][x + 1];
48                  break;
49              default:
50                  b = m[y + 1][x];
51                  break;
52          }
53      }
54  
55      private static void foo3(final int[][] m, final int x, final int y,
56                                   final int d, final int[] regionSizes) {
57          final int a = m[y][x] & 1;
58          int b;
59          switch (d) {
60              case 1:
61              case 2:
62              case 3:
63                  b = m[y][x + 1];
64                  break;
65              default:
66                  b = m[y + 1][x];
67                  break;
68          }
69          b &= 5;
70      }
71  }