|
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