]> Nishi Git Mirror - gwion.git/commitdiff
:art: Few fixes (examples + repeat error)
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 31 Mar 2020 10:46:34 +0000 (12:46 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 31 Mar 2020 10:46:34 +0000 (12:46 +0200)
14 files changed:
src/parse/check.c
tests/error/UgenConnectException.gw
tests/error/ptr_no_match.gw
tests/fptr/class_ptr2.gw
tests/fptr/class_ptr3.gw
tests/fptr/class_ptr31.gw
tests/import/core.916363 [new file with mode: 0644]
tests/new/lambda2.gw
tests/new/ref.gw
tests/tree/class_multi_ref_decl.gw
tests/tree/class_simple_ref_decl.gw
tests/tree/multi_ref_decl.gw
tests/tree/set_obj.gw
tests/tree/simple_ref_decl.gw

index 8f85e3307e1aed226b3ea5e50acebb41b33d2500..2fc064d95b2b8feb1ba966e31e17a99523bd857e 100644 (file)
@@ -982,7 +982,9 @@ ANN static m_bool do_stmt_auto(const Env env, const Stmt_Auto stmt) {
 
 ANN static inline m_bool cond_type(const Env env, const Exp e) {
   const Type t_int = env->gwion->type[et_int];
-  return check_implicit(env, e, t_int);
+  if(check_implicit(env, e, t_int))
+    ERR_B(e->pos, _("invalid condition type"))
+  return GW_OK;
 }
 
 #define stmt_func_xxx(name, type, prolog, exp) describe_stmt_func(check, name, type, prolog, exp)
index d615209d5b8b17303ce74cbfff8de99f15fd2187..81faa9a9bff6b044f11265a8912758e269abf33c 100644 (file)
@@ -1 +1 @@
-Gain @ g => dac;
+Gain ref g => dac;
index 0025800802ed73617daf27013268c1c8c08f0424..d0818146622b4a097c6cde61438b8ef9a13d465a 100644 (file)
@@ -4,4 +4,4 @@ fun void test(float f){}
 
 typedef void Test();
 Test t;
-test @=> t; 
+test @=> t;
index dd64e2315e126589fc3e94b001d1f6837d4b20d7..5bcd7954bbaf1fcfe232b955a2b89c2707763916 100644 (file)
@@ -1,8 +1,7 @@
 class C {
   fun void test(int i) { <<<  "int arg"  >>>; }
   typedef void PtrType(int i);
-  test @=>
-  static PtrType p;
+  test @=> static PtrType p;
   p(1);
   test @=> p;
   p(1);
index 524df8d64cf990b4a9fda17588ee2144f8a083ac..d1ed9ee6f333f60d0a136becab4cbb6a32ffd190 100644 (file)
@@ -1,8 +1,7 @@
 class C {
   fun static void test(int i) { <<<  "int arg"  >>>; }
   typedef static void PtrType(int i);
-  test @=>
-  static PtrType p;
+  test @=> static PtrType p;
   p(1);
   test @=> p;
   p(1);
index f09a5a019a8c3195af34ac06ee5696d394be544b..6c9a15712e581f6ed3b8038ac94abf966ffd95c6 100644 (file)
@@ -2,8 +2,7 @@
 class C {
   fun void test(int i) { <<<  "int arg"  >>>; }
   typedef static void PtrType(int i);
-  test @=>
-  static PtrType p;
+  test @=> static PtrType p;
   p(1);
   test @=> p;
   p(1);
diff --git a/tests/import/core.916363 b/tests/import/core.916363
new file mode 100644 (file)
index 0000000..45b63ea
Binary files /dev/null and b/tests/import/core.916363 differ
index 0ad67254d344a7c4c78a29703fe73330f4073ad8..7414ab6cf861e4315bc9c005b64329999b956f59 100644 (file)
@@ -1,7 +1,6 @@
 class C {
 typedef void ptr_t(int i);
-\a { <<< this, " ", a >>>; } @=> 
-ptr_t ptr;
+\a { <<< this, " ", a >>>; } @=> ptr_t ptr;
 #!ptr(3);
 fun void t1(int i) { <<< this, " t1 ", i >>>; }
 fun void test(ptr_t ptr) {
index 72d689a2106f3530447a65c4b49b61ab122e2723..8923bf10911dee6eaf32e827d1f5db2c145416fb 100644 (file)
@@ -1 +1 @@
-new Object @=> Object !o;
+new Object @=> Object nonnull o;
index ce6d5dfcad2bdb3db955fef08564d42c60d0dec3..440e4ad3cbba76c71d6ba917349ceb634e5137eb 100644 (file)
@@ -1,4 +1,4 @@
 class C {
-       Object @ i, a;
+       Object ref i, a;
 }
 
index f614771a68ffbf5ec2ffb70883fd7b1629b51cf2..7610b45b1134ae3cc7ec802d98d2bf39492bff87 100644 (file)
@@ -1,4 +1,4 @@
 class C {
-       Object @ o;
+       Object ref o;
 }
 
index 24a15cf4f237cbd303a42d48eca32fa0422f970e..b0555aaab266a9f0627eb24fe5377c54211d4a06 100644 (file)
@@ -1,2 +1,2 @@
-Object @ i, a;
+Object ref i, a;
 <<< i, a >>>;
index 06a528462fda18dbebba30c973a5b9599a9e5d2b..043de2bc43419d81245a7a598057c6432f353552 100644 (file)
@@ -1,4 +1,4 @@
 typedef int[2]Type;
-Type!type;
+Type nonnull type;
 <<<type>>>;
 for(auto ref a : type);
index e92148e4d730b74a13fbc013a068460e5bbfcaef..f4aa262f2af5b26e1adaa3a9fcce0381e85887cb 100644 (file)
@@ -1,2 +1,2 @@
-Object @ o;
+Object ref o;
 <<< o >>>;