]> Nishi Git Mirror - gwion.git/commitdiff
:art: Fix operator syntax
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Fri, 25 Sep 2020 14:18:07 +0000 (16:18 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Fri, 25 Sep 2020 14:18:07 +0000 (16:18 +0200)
23 files changed:
ast
examples/class_coverage.gw
examples/dtor.gw
examples/op.gw
examples/op2.gw
examples/usr_postfix.gw
tests/bug/class_doc.gw
tests/error/implicit_inside.gw
tests/internal_op/conditionnal.gw
tests/internal_op/dtor_arg.gw
tests/internal_op/dtor_not_void.gw
tests/internal_op/dtor_outside_class.gw
tests/internal_op/implicit.gw
tests/internal_op/internal_gack.gw
tests/internal_op/internal_not_int.gw
tests/internal_op/unconditionnal.gw
tests/match/internal_multi.gw
tests/new/dtor.gw
tests/new/extend_template_union.gw
tests/struct/struct_gack.gw
tests/tree/member_op.gw
tests/tree/reddit.gw
tests/tree/usr_unary.gw

diff --git a/ast b/ast
index d43d59831983e1851205c888a493d09910c8d7c8..bcd1d80e986e043508e8cab4d29356ecaea3fcd8 160000 (submodule)
--- a/ast
+++ b/ast
@@ -1 +1 @@
-Subproject commit d43d59831983e1851205c888a493d09910c8d7c8
+Subproject commit bcd1d80e986e043508e8cab4d29356ecaea3fcd8
index 48ff5190d6c89027db08002c78ac580c3b64fb09..840c5b2984e45c4372d0ee86bb5d7e12f88dd232 100644 (file)
@@ -2,7 +2,7 @@ class C {
   var int i;
   var float f;
   var Object o;
-  operator @dtor void () { <<< "dtor" >>>; }
+  operator void @dtor () { <<< "dtor" >>>; }
 }
 
 var C c;
index 2eadac091537e8a2bf4a62f76ade2adc83240136..55266a98aa17bb2eda2fc0b74151869c8ee1d9af 100644 (file)
@@ -1,6 +1,6 @@
 class C
 {
-  operator @dtor void () {<<< 1 >>>;}
+  operator void @dtor () {<<< 1 >>>;}
 }
 
 var C c;
index 07157aba70c9861c1abe4a335d9603bb4491b5ca..6a207eeb7a41c0cc9688aa76484250a616107011 100644 (file)
@@ -1,6 +1,6 @@
 #!! test operator
 
-operator => void (Object o, int i) {
+operator void => (Object o, int i) {
   <<< o, " ", i, " success" >>>;
 }
 
@@ -9,7 +9,7 @@ class C {
 }
 
 #!! assign object to C.ref
-operator => void (Object o, C c) {
+operator void => (Object o, C c) {
   o @=> c.ref_object;
   <<< "success" >>>;
 }
index 04ff416fc72e47dd33b820a99ed45bcaa90c2a59..237f96ef9cefc7faa11be0dc26e8a216a8f53869 100644 (file)
@@ -3,12 +3,12 @@ class C
    var float f;
 }
 
-operator => float   (C       c, C d){ <<< "float   => C: ", c.f => d.f >>>; return 2.0;}
-operator => int     (int     i, C d){ <<< "int   => C: ", i => d.f >>>; return 2;}
-operator => float   (float   f, C d){ <<< "float   => C: ", f     => d.f >>>; return 2.0;}
+operator float  => (C       c, C d){ <<< "float   => C: ", c.f => d.f >>>; return 2.0;}
+operator int    => (int     i, C d){ <<< "int   => C: ", i => d.f >>>; return 2;}
+operator float  => (float   f, C d){ <<< "float   => C: ", f     => d.f >>>; return 2.0;}
 
-operator => float   (C d, int     c){ <<< "int   => C: ", c => d.f >>>; return 2.0;}
-operator => float   (C d,  float   f){ <<< "C   => float: ", f     => d.f >>>; return 2.0;}
+operator float =>  (C d, int     c){ <<< "int   => C: ", c => d.f >>>; return 2.0;}
+operator float =>  (C d,  float   f){ <<< "C   => float: ", f     => d.f >>>; return 2.0;}
 
 var C c, d;
 
index c864f10622982b4072b40c9cca0d0bb318abc3cc..4abe01de385716189840474267d7f5a7f947b9df 100644 (file)
@@ -2,7 +2,7 @@ class C {
   var int i;
 }
 
-operator ++ int (C c) {
+operator int ++ (C c) {
   <<< "here" >>>;
   <<< c.i++ >>>;
 }
index da3b55ff0b8bee26cfe3dc1052c27417a150be06..fb34a6a224f957b16c068274d09825105f6052b4 100644 (file)
@@ -6,7 +6,7 @@ class C
        #!! a fun
        fun void test() {}
        #!! operator
-       operator => void(C c, C d){
+       operator void => (C c, C d){
       <<< c, " ", d >>>;
     }
 }
index c9729f663d285733636f3ffb6187399ebce469cc..d41ff93b687b50026686741beb492e52bac7f066 100644 (file)
@@ -2,7 +2,7 @@
 class C {
   0 => var int i;
 }
-operator @implicit int(C c) {
+operator int @implicit (C c) {
   return c;
 }
 
index e4b94b486c1cb9433b2b86a627ab907085529eaa..f87b68718df815d434e4f8d353360b165d047499 100644 (file)
@@ -3,7 +3,7 @@ class C {
   10 => var int i;
 }
 
-operator @conditionnal int(C c) {
+operator int @conditionnal (C c) {
   <<< __func__ >>>;
   --c.i;
   return c.i;
index 2f2d78118666a2ea70585bb39d99158bc0655382..9ec6a2adde7f87b7c294bb2dcb5d19ae588ee8f9 100644 (file)
@@ -1,4 +1,4 @@
 #! [contains] must not have args
 class C {
-  operator @dtor void(int i) {}
+  operator void @dtor (int i) {}
 }
index 71cac9374d852db7b5ace2cf989c7b291ebbd3c3..7102607a01533636336db29ea43266f74820888e 100644 (file)
@@ -1,4 +1,4 @@
 #! [contains] must return
 class C {
-  operator @dtor int() {}
+  operator int @dtor () {}
 }
index 15859d05b85c1ae93c4647dd61f188558543c15f..6d4b7b7f397f33256f6a9ac8ac06c7ec4169ab81 100644 (file)
@@ -1,2 +1,2 @@
 #! [contains] '@dtor' must be in class def!!
-operator @dtor void () {}
+operator void @dtor () {}
index 3be1be613b639b4c86c4594c5ee4f618f6b8d855..57d356761c51aee074d858e67e624920f678246a 100644 (file)
@@ -3,7 +3,7 @@ class C {
   12 => var int i;
 }
 
-operator @implicit int (C c) {
+operator int @implicit (C c) {
   return c.i;
 }
 
index 97722cf37d8a91a676f632ee3a170e3c1e2e168c..fd3781bc3d5c99eb72065436e54702d4b2b29e18 100644 (file)
@@ -1,5 +1,5 @@
 class C {
-  operator @gack void() { <<< __func__ >>>; }
+  operator void @gack () { <<< __func__ >>>; }
 }
 <<< var C c >>>;
 <<< c >>>;
index ef41b3800aa58120623b60098c000bf275449f82..78f83bbb6cb7c9e5b9b449af70b302b8a464135d 100644 (file)
@@ -1,2 +1,2 @@
 #! [contains] must return
-operator @conditionnal Object (int i) {}
+operator Object @conditionnal (int i) {}
index cf90a4641a5852f7c990abbd0e4296308357e0a7..060467b29036b6ad49173055bb91b6576797e41b 100644 (file)
@@ -3,7 +3,7 @@ class C {
   10 => var int i;
 }
 
-operator @unconditionnal int(C c) {
+operator int @unconditionnal (C c) {
   <<< __func__ >>>;
   --c.i;
   return !c.i;
index 5aea3237e4e3ae16fc60f238f82c276ade63f9ef..f5dc85597e81bb283d6c03d15141da83e09ff65e 100644 (file)
@@ -1,2 +1,2 @@
 #! [contains] must have one
-operator @implicit int(int i, int i) {}
+operator int @implicit (int i, int i) {}
index 2d4afac4a8ae84513c4564a1d443aecfe20f28a3..6ae4304419433460be290f208b7f17c57d89f66b 100644 (file)
@@ -1,11 +1,11 @@
 class C:[A] {
-  operator @dtor void () { <<< __func__ >>>; }
+  operator void @dtor () { <<< __func__ >>>; }
 }
 class D:[A] extends C:[A] {
-  operator @dtor void () { <<< __func__ >>>; }
+  operator void @dtor () { <<< __func__ >>>; }
 }
 class E extends D:[int] {
-  operator @dtor void () { <<< __func__ >>>; }
+  operator void @dtor () { <<< __func__ >>>; }
 }
 
 var E e;
index 6eb2e8f98043e2eae7cd68f77cbf50c24a4df588..913c181acfd31a2538181e8989f22d0e59bb5454 100644 (file)
@@ -5,7 +5,7 @@ union U:[A] {
 
 class C:[A] extends U:[A] {
   fun void test() { <<< this >>>; }
-  operator @dtor void () { <<< __func__ >>>; }
+  operator void @dtor () { <<< __func__ >>>; }
 }
 
 var C:[float] c;
index 0b0488e4576d87329a2ec0fa7c12aecf6e56a237..1fae402a3c4f31f08ad08c72100bc9253e78cc6c 100644 (file)
@@ -1,6 +1,6 @@
 struct S {
   13 => var int i;
-  operator @gack void() { <<< "test", i >>>; }
+  operator void @gack () { <<< "test", i >>>; }
   <<< this >>>;
 }
 
index a5b14120ce757fd465512e6ebd46577487270fb4..615dc07a9aca5853296815d822ae1c23c61994d9 100644 (file)
@@ -1,6 +1,6 @@
 class C
 {
-       operator => void(C c, int i){<<< c, " ", i >>>;}
+       operator void => (C c, int i){<<< c, " ", i >>>;}
 #!     this => this;
 #!fun void test_op(C c){ this => c; }
        this => var int i;
index 9b4fd259b9055d5a25794a884bd7a2ad2d2678dc..e4d0248ecac416c795c5c709811c7d9f928cc06c 100644 (file)
@@ -3,6 +3,6 @@
 <<<  1 + 2 >>>;
 
 #! define and operator
-operator $@+-*%~<>^&!= void (int i, int j) { <<< i, " ", j >>>; }
+operator void $@+-*%~<>^&!= (int i, int j) { <<< i, " ", j >>>; }
 
 1 $@+-*%~<>^&!= 2;
index fcc4e01d04c6730ac807b6f9a0b0dac799a32a54..de919c151a0456fc7b2803b7ab6a9b5b682c25b3 100644 (file)
@@ -2,7 +2,7 @@ class C {
   var int i;
 }
 
-++ operator int (C c) {
+operator ++ int (C c) {
   <<< "test" >>>;
   <<< c >>>;
   <<< ++c.i >>>;