tests: add syntax_annotations
authorJean Privat <jean@pryen.org>
Tue, 16 Jul 2013 19:52:24 +0000 (15:52 -0400)
committerJean Privat <jean@pryen.org>
Thu, 25 Jul 2013 17:33:16 +0000 (13:33 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

tests/sav/syntax_annotations.res [new file with mode: 0644]
tests/sav/syntax_annotations2.res [new file with mode: 0644]
tests/sav/syntax_annotations3.res [new file with mode: 0644]
tests/syntax_annotations.nit [new file with mode: 0644]
tests/syntax_annotations2.nit [new file with mode: 0644]
tests/syntax_annotations3.nit [new file with mode: 0644]

diff --git a/tests/sav/syntax_annotations.res b/tests/sav/syntax_annotations.res
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/syntax_annotations2.res b/tests/sav/syntax_annotations2.res
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/syntax_annotations3.res b/tests/sav/syntax_annotations3.res
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/syntax_annotations.nit b/tests/syntax_annotations.nit
new file mode 100644 (file)
index 0000000..6d4bcea
--- /dev/null
@@ -0,0 +1,25 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+var foo1@foo
+var foo2@foo(foo)
+var foo3@foo(1)
+var foo4@foo(1+1)
+var foo5@foo(assert true)
+var foo6@foo(Foo)
+var foo7@foo(@foo)
+var foo8@foo(@(foo,foo))
+var foo9@foo(foo, Foo, @foo, @(foo,foo))
+var foo10@(foo, foo)
+var foo11@(foo(foo, Foo, @foo, @(foo,foo)), foo(foo, Foo, @foo(foo), @(foo(foo),foo(foo))))
diff --git a/tests/syntax_annotations2.nit b/tests/syntax_annotations2.nit
new file mode 100644 (file)
index 0000000..740a262
--- /dev/null
@@ -0,0 +1,54 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module syntax_annotations2 is
+       annot
+       annot2
+end
+
+import kernel is annot
+import kernel is annot, annot2
+import kernel is
+       annot
+       annot2
+end
+
+class A
+       annot
+       super Toto is annot
+       super Toto is annot, annot2
+       super Toto is
+               annot
+               annot2
+       end
+       fun foo1 is
+               annot
+       do
+               var x: Toto@foo
+       end
+       fun foo2 is annot
+       fun foo3 is annot, annot2
+       fun foo4 is
+               annot
+               annot2
+       end
+       var bar: Int is annot, annot2
+       var bar2: Int is
+               annot
+               annot2
+       end
+end
+
+class Toto
+end
diff --git a/tests/syntax_annotations3.nit b/tests/syntax_annotations3.nit
new file mode 100644 (file)
index 0000000..cb9ba14
--- /dev/null
@@ -0,0 +1,43 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class Account
+       invariant solde > 0
+
+       fun toto(i: Int): Int is
+               pre i >= 0
+               post result == i + 1
+               test toto(5) == 6
+       do
+               return i + 1
+       end
+
+       fun stop
+       is
+               inter
+       do
+               abort
+       end
+
+       var tata: Int@u32 is
+               ondebug(@daemon@after(print(toto)))
+               final
+       end
+
+       var titi = 5 is writable, readable, initable, fast_init
+
+       var x = new HashMap[String, Object] is lazy
+
+       type T: Object is unchecked
+end