]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani.mdc
oceani: handle some more untested code.
[ocean] / csrc / oceani.mdc
index 2f3c9731e9ed703ad095a954855bd85cd43c20e7..ad0d1b5c6905e8be8c7a7867f2c4c132e35367f3 100644 (file)
@@ -2398,16 +2398,16 @@ with a const size by whether they are prepared at parse time or not.
                struct value *vsize;
                mpz_t q;
                if (type->array.static_size)
-                       return 1;       // UNTESTED
+                       return 1;       // NOTEST - guard against reentry
                if (type->array.unspec && parse_time)
-                       return 1;       // UNTESTED
+                       return 1;       // NOTEST - unspec is still incomplete
                if (parse_time && type->array.vsize && !type->array.vsize->global)
-                       return 1;       // UNTESTED
+                       return 1;       // NOTEST - should be impossible
 
                if (type->array.vsize) {
                        vsize = var_value(c, type->array.vsize);
                        if (!vsize)
-                               return 1;       // UNTESTED
+                               return 1;       // NOTEST - should be impossible
                        mpz_init(q);
                        mpz_tdiv_q(q, mpq_numref(vsize->num), mpq_denref(vsize->num));
                        type->array.size = mpz_get_si(q);
@@ -2416,7 +2416,7 @@ with a const size by whether they are prepared at parse time or not.
                if (!parse_time)
                        return 1;
                if (type->array.member->size <= 0)
-                       return 0;       // UNTESTED
+                       return 0;       // NOTEST - error caught before here
 
                type->array.static_size = 1;
                type->size = type->array.size * type->array.member->size;
@@ -3387,7 +3387,7 @@ anything in the heap or on the stack.  A reference can be assigned
        case AddressOf:
                /* left must be lval, we create reference to it */
                if (!type || type->free != reference_free)
-                       t = propagate_types(b->left, c, perr, type, 0); // UNTESTED
+                       t = propagate_types(b->left, c, perr, type, 0); // NOTEST impossible
                else
                        t = propagate_types(b->left, c, perr,
                                            type->reference.referent, 0);
@@ -4576,7 +4576,7 @@ the common header for all reductions to use.
 
        ComplexStatements -> ComplexStatements ComplexStatement ${
                if ($2 == NULL) {
-                       $0 = $<1;
+                       $0 = $<1;       // NOTEST - impossible
                } else {
                        $0 = new(binode);
                        $0->op = Block;
@@ -4586,7 +4586,7 @@ the common header for all reductions to use.
        }$
        | ComplexStatement ${
                if ($1 == NULL) {
-                       $0 = NULL;
+                       $0 = NULL;      // NOTEST - impossible
                } else {
                        $0 = new(binode);
                        $0->op = Block;
@@ -5784,7 +5784,7 @@ is a bit more interesting at this level.
                $0 = declare_function(c, $<FN, $<Ar, $<Ty, NULL, $<Bl);
        }$
        | func FuncName ( OpenScope ArgsLine ) : ( ArgsLine ) Block Newlines ${
-               $0 = declare_function(c, $<FN, $<AL, NULL, $<AL2, $<Bl);
+               $0 = declare_function(c, $<FN, $<AL, NULL, $<AL2, $<Bl);        // UNTESTED
        }$
        | func FuncName IN OpenScope Args OUT OptNL return Type Newlines do Block Newlines ${
                $0 = declare_function(c, $<FN, $<Ar, $<Ty, NULL, $<Bl);
@@ -5796,7 +5796,7 @@ is a bit more interesting at this level.
                $0 = declare_function(c, $<FN, $<Ar, NULL, $<Ar2, $<Bl);
        }$
        | func FuncName NEWLINE OpenScope return IN Args OUT OptNL do Block Newlines ${
-               $0 = declare_function(c, $<FN, NULL, NULL, $<Ar, $<Bl);
+               $0 = declare_function(c, $<FN, NULL, NULL, $<Ar, $<Bl); // UNTESTED
        }$
 
 ###### print func decls