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  public class InputFinalLocalVariableFive {
12      class class5 {
13          public void test1(){
14              final boolean b = false;
15              int shouldBeFinal;    // violation
16              if(b){
17                  if(b){
18                      shouldBeFinal = 1;
19                  } else {
20                      shouldBeFinal = 2;
21                  }
22              }
23          }
24          public void test2() {
25              final int b = 10;
26              int shouldBeFinal;        // violation
27  
28              switch (b) {
29                  case 0:
30                      switch (b) {
31                          case 0:
32                              shouldBeFinal = 1;
33                              break;
34                          default:
35                              shouldBeFinal = 2;
36                              break;
37                      }
38                      break;
39                  default:
40                      shouldBeFinal = 3;
41                      break;
42              }
43          }
44          public void test3() {
45              int x;    //No Violation
46              try {
47                  x = 0;
48                  try {
49                      x = 0;
50                  } catch (final Exception e) {
51                      x = 1;
52                  }
53              } catch (final Exception e) {
54                  x = 1;
55              }
56          }
57          public void test4() {
58              int shouldBeFinal;    // violation
59              class Bar {
60                  void bar () {
61                      int shouldBeFinal;    // violation
62                      final boolean b = false;
63                      if (b) {
64                          if (b) {
65                              shouldBeFinal = 1;
66                          } else {
67                              shouldBeFinal = 2;
68                          }
69                      } else {
70                          shouldBeFinal = 2;
71                      }
72                  }
73              }
74  
75              abstract class Bar2 {
76                  abstract void method(String param);
77              }
78          }
79  
80          public void test5() {
81              InputFinalLocalVariableFive table = new InputFinalLocalVariableFive(); // violation
82              new Runnable() {
83                  @Override
84                  public void run() {
85                      InputFinalLocalVariableFive table = null;
86                      table = new InputFinalLocalVariableFive();
87                  }
88              };
89          }
90  
91          public void test6() {
92              byte tmpByte[];
93  
94              if (true) {
95                  if (true) {
96                      tmpByte = new byte[0];
97                  }
98              } else {
99                  if (true) {
100                     if (true) {
101                         tmpByte = new byte[1];
102                     }
103                 }
104                 if (false) {
105                     if (true) {
106                         tmpByte = new byte[2];
107                     }
108                 }
109             }
110         }
111     }
112 
113 }