diff options
Diffstat (limited to 'progs/tests/blob')
| -rw-r--r-- | progs/tests/blob/cluster.sy | 14 | ||||
| -rw-r--r-- | progs/tests/blob/complex.sy | 17 | ||||
| -rw-r--r-- | progs/tests/blob/field.sy | 3 | ||||
| -rw-r--r-- | progs/tests/blob/field_assign.sy | 5 | ||||
| -rw-r--r-- | progs/tests/blob/field_get.sy | 7 | ||||
| -rw-r--r-- | progs/tests/blob/infer.sy | 6 | ||||
| -rw-r--r-- | progs/tests/blob/instantiate.sy | 5 | ||||
| -rw-r--r-- | progs/tests/blob/multiple_fields.sy | 11 | ||||
| -rw-r--r-- | progs/tests/blob/simple.sy | 10 |
9 files changed, 78 insertions, 0 deletions
diff --git a/progs/tests/blob/cluster.sy b/progs/tests/blob/cluster.sy new file mode 100644 index 0000000..dc8ec72 --- /dev/null +++ b/progs/tests/blob/cluster.sy @@ -0,0 +1,14 @@ +start :: fn { + + blob A { a: int } + a := A() + a.a = 0 + a.a += 1 + a.a <=> 1 + a.a *= 2 + a.a <=> 2 + a.a /= 2 + a.a <=> 1 + a.a -= 1 + a.a <=> 0 +} diff --git a/progs/tests/blob/complex.sy b/progs/tests/blob/complex.sy new file mode 100644 index 0000000..88c37a7 --- /dev/null +++ b/progs/tests/blob/complex.sy @@ -0,0 +1,17 @@ +start :: fn { + a := A() + b := B() + c := C() + b2 := B() + + a + b + c + b2 + + blob A { + c: C + } + blob C { } + blob B { } +} diff --git a/progs/tests/blob/field.sy b/progs/tests/blob/field.sy new file mode 100644 index 0000000..b11e51e --- /dev/null +++ b/progs/tests/blob/field.sy @@ -0,0 +1,3 @@ +start :: fn { + blob A { a: int } +} diff --git a/progs/tests/blob/field_assign.sy b/progs/tests/blob/field_assign.sy new file mode 100644 index 0000000..4fb6dd4 --- /dev/null +++ b/progs/tests/blob/field_assign.sy @@ -0,0 +1,5 @@ +start :: fn { + blob A { a: int } + a := A() + a.a = 2 +} diff --git a/progs/tests/blob/field_get.sy b/progs/tests/blob/field_get.sy new file mode 100644 index 0000000..49bb0f2 --- /dev/null +++ b/progs/tests/blob/field_get.sy @@ -0,0 +1,7 @@ +start :: fn { + blob A { a: int } + a := A() + a.a = 2 + a.a <=> 2 + 2 <=> a.a +} diff --git a/progs/tests/blob/infer.sy b/progs/tests/blob/infer.sy new file mode 100644 index 0000000..1dd7fec --- /dev/null +++ b/progs/tests/blob/infer.sy @@ -0,0 +1,6 @@ +start :: fn { + blob A { } + + a : A = A() + a +} diff --git a/progs/tests/blob/instantiate.sy b/progs/tests/blob/instantiate.sy new file mode 100644 index 0000000..bb2f09c --- /dev/null +++ b/progs/tests/blob/instantiate.sy @@ -0,0 +1,5 @@ +start :: fn { + blob A {} + a := A() + a +} diff --git a/progs/tests/blob/multiple_fields.sy b/progs/tests/blob/multiple_fields.sy new file mode 100644 index 0000000..ce4c61f --- /dev/null +++ b/progs/tests/blob/multiple_fields.sy @@ -0,0 +1,11 @@ +start :: fn { + blob A { + a: int + b: int + } + a := A() + a.a = 2 + a.b = 3 + a.a + a.b <=> 5 + 5 <=> a.a + a.b +} diff --git a/progs/tests/blob/simple.sy b/progs/tests/blob/simple.sy new file mode 100644 index 0000000..ea832cd --- /dev/null +++ b/progs/tests/blob/simple.sy @@ -0,0 +1,10 @@ +start :: fn { + + a := A() + a + + blob A { + a: int + } + +} |
