|
16 | 16 | import org.aya.core.def.DataDef; |
17 | 17 | import org.aya.core.def.Def; |
18 | 18 | import org.aya.core.def.FnDef; |
19 | | -import org.aya.core.pat.Pat; |
20 | | -import org.aya.core.term.RefTerm; |
| 19 | +import org.aya.core.term.CallTerm; |
21 | 20 | import org.aya.test.ThrowingReporter; |
22 | 21 | import org.intellij.lang.annotations.Language; |
23 | 22 | import org.jetbrains.annotations.NonNls; |
@@ -48,17 +47,16 @@ private FnDef successTyckFn(@NotNull @NonNls @Language("TEXT") String code) { |
48 | 47 | def xyr (zero : Nat) : Nat |
49 | 48 | | zero => zero |
50 | 49 | | suc n => zero"""); |
| 50 | + // ^ the latter `zero` refers to the `zero` parameter, and will be substituted as `suc n` |
51 | 51 | var nat = (DataDef) defs.get(0); |
52 | 52 | var xyr = (FnDef) defs.get(1); |
53 | | - var ctors = nat.body; |
| 53 | + var ctors = nat.body; |
54 | 54 | assertEquals(2, ctors.size()); |
55 | 55 | var clauses = xyr.body.getRightValue(); |
56 | | - var zeroToZero = clauses.get(0); |
57 | | - var zeroCtor = ctors.get(0); |
58 | | - assertEquals(0, zeroCtor.selfTele.size()); |
59 | | - var zeroParam = xyr.telescope().get(0); |
60 | | - assertEquals(((RefTerm) zeroToZero.body()).var(), zeroParam.ref()); |
61 | | - assertEquals(zeroCtor.ref(), ((Pat.Ctor) zeroToZero.patterns().get(0)).ref()); |
| 56 | + var sucToZero = clauses.get(1); |
| 57 | + var sucCtor = ctors.get(1); |
| 58 | + assertEquals(1, sucCtor.selfTele.size()); |
| 59 | + assertEquals(((CallTerm.Con) sucToZero.body()).ref(), sucCtor.ref); |
62 | 60 | } |
63 | 61 |
|
64 | 62 | public static @NotNull ImmutableSeq<Stmt> successDesugarDecls(@Language("TEXT") @NonNls @NotNull String text) { |
|
0 commit comments