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