View Javadoc
1   /*
2   NPathComplexity
3   max = 0
4   
5   
6   */
7   
8   package com.puppycrawl.tools.checkstyle.checks.metrics.npathcomplexity;
9   
10  /**
11   * This class has methods that have an NPath complexity larger than MAXINT.
12   * Test case for bug 1654769.
13   */
14  public class InputNPathComplexityOverflow {
15  
16      /* NP = (if-range[1]=9) * (if-range[2]=9) * (if-range[3]=9) * (if-range[4]=9)
17       *          (if-range[5]=9) * (if-range[6]=9) * (if-range[7]=9) * (if-range[8]=9)
18       *          (if-range[9]=9) * (if-range[10]=9) = 3486784401
19       */
20      public void provokeNpathIntegerOverflow() // violation
21      {
22          // NP = (if-range=8) + 1 + (expr=0) = 9
23          if (true) {
24              // NP = (if-range=7) + 1 + (expr=0) = 8
25              if (true) {
26                  // NP = (if-range=6) + 1 + (expr=0) = 7
27                  if (true) {
28                      // NP = (if-range=5) + 1 + (expr=0) = 6
29                      if (true) {
30                          // NP = (if-range=4) + 1 + (expr=0) = 5
31                          if (true) {
32                              // NP = (if-range=3) + 1 + (expr=0) = 4
33                              if (true) {
34                                  // NP = (if-range=2) + 1 + (expr=0) = 3
35                                  if (true) {
36                                      // NP = (if-range=1) + 1 + (expr=0) = 2
37                                      if (true) {
38                                      }
39                                  }
40                              }
41                          }
42                      }
43                  }
44              }
45          }
46          // NP = (if-range=8) + 1 + (expr=0) = 9
47          if (true) {
48              // NP = (if-range=7) + 1 + (expr=0) = 8
49              if (true) {
50                  // NP = (if-range=6) + 1 + (expr=0) = 7
51                  if (true) {
52                      // NP = (if-range=5) + 1 + (expr=0) = 6
53                      if (true) {
54                          // NP = (if-range=4) + 1 + (expr=0) = 5
55                          if (true) {
56                              // NP = (if-range=3) + 1 + (expr=0) = 4
57                              if (true) {
58                                  // NP = (if-range=2) + 1 + (expr=0) = 3
59                                  if (true) {
60                                      // NP = (if-range=1) + 1 + (expr=0) = 2
61                                      if (true) {
62                                      }
63                                  }
64                              }
65                          }
66                      }
67                  }
68              }
69          }
70          // NP = (if-range=8) + 1 + (expr=0) = 9
71          if (true) {
72              // NP = (if-range=7) + 1 + (expr=0) = 8
73              if (true) {
74                  // NP = (if-range=6) + 1 + (expr=0) = 7
75                  if (true) {
76                      // NP = (if-range=5) + 1 + (expr=0) = 6
77                      if (true) {
78                          // NP = (if-range=4) + 1 + (expr=0) = 5
79                          if (true) {
80                              // NP = (if-range=3) + 1 + (expr=0) = 4
81                              if (true) {
82                                  // NP = (if-range=2) + 1 + (expr=0) = 3
83                                  if (true) {
84                                      // NP = (if-range=1) + 1 + (expr=0) = 2
85                                      if (true) {
86                                      }
87                                  }
88                              }
89                          }
90                      }
91                  }
92              }
93          }
94          // NP = (if-range=8) + 1 + (expr=0) = 9
95          if (true) {
96              // NP = (if-range=7) + 1 + (expr=0) = 8
97              if (true) {
98                  // NP = (if-range=6) + 1 + (expr=0) = 7
99                  if (true) {
100                     // NP = (if-range=5) + 1 + (expr=0) = 6
101                     if (true) {
102                         // NP = (if-range=4) + 1 + (expr=0) = 5
103                         if (true) {
104                             // NP = (if-range=3) + 1 + (expr=0) = 4
105                             if (true) {
106                                 // NP = (if-range=2) + 1 + (expr=0) = 3
107                                 if (true) {
108                                     // NP = (if-range=1) + 1 + (expr=0) = 2
109                                     if (true) {
110                                     }
111                                 }
112                             }
113                         }
114                     }
115                 }
116             }
117         }
118         // NP = (if-range=8) + 1 + (expr=0) = 9
119         if (true) {
120             // NP = (if-range=7) + 1 + (expr=0) = 8
121             if (true) {
122                 // NP = (if-range=6) + 1 + (expr=0) = 7
123                 if (true) {
124                     // NP = (if-range=5) + 1 + (expr=0) = 6
125                     if (true) {
126                         // NP = (if-range=4) + 1 + (expr=0) = 5
127                         if (true) {
128                             // NP = (if-range=3) + 1 + (expr=0) = 4
129                             if (true) {
130                                 // NP = (if-range=2) + 1 + (expr=0) = 3
131                                 if (true) {
132                                     // NP = (if-range=1) + 1 + (expr=0) = 2
133                                     if (true) {
134                                     }
135                                 }
136                             }
137                         }
138                     }
139                 }
140             }
141         }
142         // NP = (if-range=8) + 1 + (expr=0) = 9
143         if (true) {
144             // NP = (if-range=7) + 1 + (expr=0) = 8
145             if (true) {
146                 // NP = (if-range=6) + 1 + (expr=0) = 7
147                 if (true) {
148                     // NP = (if-range=5) + 1 + (expr=0) = 6
149                     if (true) {
150                         // NP = (if-range=4) + 1 + (expr=0) = 5
151                         if (true) {
152                             // NP = (if-range=3) + 1 + (expr=0) = 4
153                             if (true) {
154                                 // NP = (if-range=2) + 1 + (expr=0) = 3
155                                 if (true) {
156                                     // NP = (if-range=1) + 1 + (expr=0) = 2
157                                     if (true) {
158                                     }
159                                 }
160                             }
161                         }
162                     }
163                 }
164             }
165         }
166         // NP = (if-range=8) + 1 + (expr=0) = 9
167         if (true) {
168             // NP = (if-range=7) + 1 + (expr=0) = 8
169             if (true) {
170                 // NP = (if-range=6) + 1 + (expr=0) = 7
171                 if (true) {
172                     // NP = (if-range=5) + 1 + (expr=0) = 6
173                     if (true) {
174                         // NP = (if-range=4) + 1 + (expr=0) = 5
175                         if (true) {
176                             // NP = (if-range=3) + 1 + (expr=0) = 4
177                             if (true) {
178                                 // NP = (if-range=2) + 1 + (expr=0) = 3
179                                 if (true) {
180                                     // NP = (if-range=1) + 1 + (expr=0) = 2
181                                     if (true) {
182                                     }
183                                 }
184                             }
185                         }
186                     }
187                 }
188             }
189         }
190         // NP = (if-range=8) + 1 + (expr=0) = 9
191         if (true) {
192             // NP = (if-range=7) + 1 + (expr=0) = 8
193             if (true) {
194                 // NP = (if-range=6) + 1 + (expr=0) = 7
195                 if (true) {
196                     // NP = (if-range=5) + 1 + (expr=0) = 6
197                     if (true) {
198                         // NP = (if-range=4) + 1 + (expr=0) = 5
199                         if (true) {
200                             // NP = (if-range=3) + 1 + (expr=0) = 4
201                             if (true) {
202                                 // NP = (if-range=2) + 1 + (expr=0) = 3
203                                 if (true) {
204                                     // NP = (if-range=1) + 1 + (expr=0) = 2
205                                     if (true) {
206                                     }
207                                 }
208                             }
209                         }
210                     }
211                 }
212             }
213         }
214         // NP = (if-range=8) + 1 + (expr=0) = 9
215         if (true) {
216             // NP = (if-range=7) + 1 + (expr=0) = 8
217             if (true) {
218                 // NP = (if-range=6) + 1 + (expr=0) = 7
219                 if (true) {
220                     // NP = (if-range=5) + 1 + (expr=0) = 6
221                     if (true) {
222                         // NP = (if-range=4) + 1 + (expr=0) = 5
223                         if (true) {
224                             // NP = (if-range=3) + 1 + (expr=0) = 4
225                             if (true) {
226                                 // NP = (if-range=2) + 1 + (expr=0) = 3
227                                 if (true) {
228                                     // NP = (if-range=1) + 1 + (expr=0) = 2
229                                     if (true) {
230                                     }
231                                 }
232                             }
233                         }
234                     }
235                 }
236             }
237         }
238         // NP = (if-range=8) + 1 + (expr=0) = 9
239         if (true) {
240             // NP = (if-range=7) + 1 + (expr=0) = 8
241             if (true) {
242                 // NP = (if-range=6) + 1 + (expr=0) = 7
243                 if (true) {
244                     // NP = (if-range=5) + 1 + (expr=0) = 6
245                     if (true) {
246                         // NP = (if-range=4) + 1 + (expr=0) = 5
247                         if (true) {
248                             // NP = (if-range=3) + 1 + (expr=0) = 4
249                             if (true) {
250                                 // NP = (if-range=2) + 1 + (expr=0) = 3
251                                 if (true) {
252                                     // NP = (if-range=1) + 1 + (expr=0) = 2
253                                     if (true) {
254                                     }
255                                 }
256                             }
257                         }
258                     }
259                 }
260             }
261         }
262     }
263 }