|
70 | 70 | Termination Analysis for butSecondArgumentIsAlwaysEvaluated |
71 | 71 |
|
72 | 72 | Function Table |
73 | | - 1 parseExpression: [_ || _]; [+Parser.next; parseExpression; parseExpression; _ || parseInt] |
74 | | - 2 parseInt: [_ || _]; +Parser.next; _ |
75 | | - 3 parseList<f>: parseList$loop<f:f> |
76 | | - 4 parseList$loop<f>: [_ || f; parseList$loop<f:f>; _] |
77 | | - 5 parseListExpression: _ |
78 | | - 6 parseListExpression2: parseExpression; parseList<f:parseExpression> |
79 | | - 7 parseListInt: parseList<f:parseInt> |
80 | | - 8 parseListIntTailRecursive: parseListIntTailRecursive$loop |
81 | | - 9 parseListIntTailRecursive$loop: [_ || parseInt; parseListIntTailRecursive$loop] |
82 | | - 10 parseListListInt: parseList<f:parseListInt> |
| 73 | + 1 parseExpression: [_ || _]; [+Parser.next; parseExpression; parseExpression; _ || _] |
| 74 | + 2 parseList<f>: parseList$loop<f:f> |
| 75 | + 3 parseList$loop<f>: [_ || f; parseList$loop<f:f>; _] |
| 76 | + 4 parseListExpression: _ |
| 77 | + 5 parseListExpression2: parseExpression; parseList<f:parseExpression> |
| 78 | + 6 parseListInt: _ |
| 79 | + 7 parseListIntTailRecursive: parseListIntTailRecursive$loop |
| 80 | + 8 parseListIntTailRecursive$loop: [_ || parseListIntTailRecursive$loop] |
| 81 | + 9 parseListListInt: parseList<f:parseListInt> |
83 | 82 |
|
84 | 83 | Termination Analysis for parseListInt |
85 | 84 |
|
|
112 | 111 |
|
113 | 112 | Function Table |
114 | 113 | 1 alwaysReturnNone: [+Parser.next; alwaysReturnNone || None] |
115 | | - 2 parseIntO: [+Parser.next; Some || None] |
116 | | - 3 parseIntOWrapper: parseIntO |
117 | | - 4 parseListIntO: parseListO<f:parseIntO> |
118 | | - 5 parseListO<f>: parseListO$loop<f:f> |
119 | | - 6 parseListO$loop<f>: [+Parser.next; _ || switch f {some: parseListO$loop<f:f>, none: _}] |
120 | | - 7 testAlwaysReturnNone: alwaysReturnNone |
121 | | - 8 thisMakesNoProgress: None; [_ || +Parser.next; Some] |
| 114 | + 2 parseIntOWrapper: _ |
| 115 | + 3 parseListIntO: _ |
| 116 | + 4 testAlwaysReturnNone: alwaysReturnNone |
| 117 | + 5 thisMakesNoProgress: None; [_ || +Parser.next; Some] |
122 | 118 |
|
123 | 119 | Termination Analysis for parseListIntO |
124 | 120 |
|
|
153 | 149 | Termination Analysis Stats |
154 | 150 | Files:1 |
155 | 151 | Recursive Blocks:21 |
156 | | - Functions:49 |
157 | | - Infinite Loops:10 |
158 | | - Hygiene Errors:2 |
159 | | - Cache Hits:7/30 |
| 152 | + Functions:45 |
| 153 | + Infinite Loops:12 |
| 154 | + Hygiene Errors:3 |
| 155 | + Cache Hits:4/21 |
160 | 156 |
|
161 | 157 |
|
162 | 158 | Error Termination |
|
211 | 207 | TestCyberTruck.res:217:32-73 |
212 | 208 | Call must have named argument f |
213 | 209 |
|
| 210 | + Error Hygiene |
| 211 | + TestCyberTruck.res:198:29-53 |
| 212 | + Named argument f must be passed a recursive function |
| 213 | + |
214 | 214 | Error Termination |
215 | 215 | TestCyberTruck.res:180:15-21 |
216 | 216 | Possible infinite loop when calling parseList$loop<f:f> which is parseList$loop<f:parseListInt> |
|
219 | 219 | 2 parseList<f:parseListInt> (TestCyberTruck.res 201) |
220 | 220 | 1 parseListListInt (TestCyberTruck.res 201) |
221 | 221 |
|
| 222 | + Error Termination |
| 223 | + TestCyberTruck.res:180:15-21 |
| 224 | + Possible infinite loop when calling parseList$loop<f:f> which is parseList$loop<f:parseExpression> |
| 225 | + CallStack: |
| 226 | + 3 parseList$loop<f:parseExpression> (TestCyberTruck.res 183) |
| 227 | + 2 parseList<f:parseExpression> (TestCyberTruck.res 220) |
| 228 | + 1 parseListExpression2 (TestCyberTruck.res 220) |
| 229 | + |
| 230 | + Error Termination |
| 231 | + TestCyberTruck.res:228:7-38 |
| 232 | + Possible infinite loop when calling parseListIntTailRecursive$loop |
| 233 | + CallStack: |
| 234 | + 2 parseListIntTailRecursive$loop (TestCyberTruck.res 230) |
| 235 | + 1 parseListIntTailRecursive (TestCyberTruck.res 223) |
| 236 | + |
222 | 237 | Error Termination |
223 | 238 | TestCyberTruck.res:238:31-49 |
224 | 239 | Possible infinite loop when calling loopAfterProgress |
|
231 | 246 | CallStack: |
232 | 247 | 1 countRendersCompiled (TestCyberTruck.res 283) |
233 | 248 |
|
234 | | - Analysis reported 12 issues (Error Hygiene:2, Error Termination:10) |
| 249 | + Analysis reported 15 issues (Error Hygiene:3, Error Termination:12) |
0 commit comments