|
70 | 70 | Termination Analysis for butSecondArgumentIsAlwaysEvaluated
|
71 | 71 |
|
72 | 72 | Function Table
|
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> |
| 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> |
82 | 83 |
|
83 | 84 | Termination Analysis for parseListInt
|
84 | 85 |
|
|
111 | 112 |
|
112 | 113 | Function Table
|
113 | 114 | 1 alwaysReturnNone: [+Parser.next; alwaysReturnNone || None]
|
114 |
| - 2 parseIntOWrapper: _ |
115 |
| - 3 parseListIntO: _ |
116 |
| - 4 testAlwaysReturnNone: alwaysReturnNone |
117 |
| - 5 thisMakesNoProgress: None; [_ || +Parser.next; Some] |
| 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] |
118 | 122 |
|
119 | 123 | Termination Analysis for parseListIntO
|
120 | 124 |
|
|
149 | 153 | Termination Analysis Stats
|
150 | 154 | Files:1
|
151 | 155 | Recursive Blocks:21
|
152 |
| - Functions:45 |
153 |
| - Infinite Loops:12 |
154 |
| - Hygiene Errors:3 |
155 |
| - Cache Hits:4/21 |
| 156 | + Functions:49 |
| 157 | + Infinite Loops:10 |
| 158 | + Hygiene Errors:2 |
| 159 | + Cache Hits:7/30 |
156 | 160 |
|
157 | 161 |
|
158 | 162 | Error Termination
|
|
207 | 211 | TestCyberTruck.res:217:32-73
|
208 | 212 | Call must have named argument f
|
209 | 213 |
|
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 |
| - |
237 | 222 | Error Termination
|
238 | 223 | TestCyberTruck.res:238:31-49
|
239 | 224 | Possible infinite loop when calling loopAfterProgress
|
|
246 | 231 | CallStack:
|
247 | 232 | 1 countRendersCompiled (TestCyberTruck.res 283)
|
248 | 233 |
|
249 |
| - Analysis reported 15 issues (Error Hygiene:3, Error Termination:12) |
| 234 | + Analysis reported 12 issues (Error Hygiene:2, Error Termination:10) |
0 commit comments