[svn] r7731: nemerle/trunk: ncc/misc/ExprWalker.n
snippets/ants-icfp2004/serializer.n snippets/ants-icfp20...
nazgul
svnadmin at nemerle.org
Wed Jul 4 10:33:08 CEST 2007
Log:
Compilation fixes after recent changes in void in generic argument restrictions
Author: nazgul
Date: Wed Jul 4 10:33:06 2007
New Revision: 7731
Modified:
nemerle/trunk/ncc/misc/ExprWalker.n
nemerle/trunk/snippets/ants-icfp2004/serializer.n
nemerle/trunk/snippets/ants-icfp2004/unvar.n
nemerle/trunk/snippets/nswiki.n
Modified: nemerle/trunk/ncc/misc/ExprWalker.n
==============================================================================
--- nemerle/trunk/ncc/misc/ExprWalker.n (original)
+++ nemerle/trunk/ncc/misc/ExprWalker.n Wed Jul 4 10:33:06 2007
@@ -380,7 +380,7 @@
}
}
- private Sort[T] (lst : list[T]) : list[T] where T : Located
+ private static Sort[T] (lst : list[T]) : list[T] where T : Located
{
lst.Sort((i1, i2) =>
{
Modified: nemerle/trunk/snippets/ants-icfp2004/serializer.n
==============================================================================
--- nemerle/trunk/snippets/ants-icfp2004/serializer.n (original)
+++ nemerle/trunk/snippets/ants-icfp2004/serializer.n Wed Jul 4 10:33:06 2007
@@ -138,6 +138,11 @@
labels = Hashtable (100);
}
+ errorv (msg : string) : void
+ {
+ throw UserErrorException (msg);
+ }
+
error['a] (msg : string) : 'a
{
throw UserErrorException (msg);
@@ -252,7 +257,7 @@
def name = l.StringValue;
match (labels.Get (name)) {
| Some (lnk) => l.Set (lnk); hash.Set (name, null)
- | None => error ("undefined label " + name)
+ | None => errorv ("undefined label " + name)
}
});
labels.Iter (fun (n, _) {
Modified: nemerle/trunk/snippets/ants-icfp2004/unvar.n
==============================================================================
--- nemerle/trunk/snippets/ants-icfp2004/unvar.n (original)
+++ nemerle/trunk/snippets/ants-icfp2004/unvar.n Wed Jul 4 10:33:06 2007
@@ -13,7 +13,7 @@
variables : Hashtable [string, Variable] = Hashtable (100);
mutable stmts : list [Stmt];
- error['a] (msg : string) : 'a
+ error (msg : string) : void
{
throw UserErrorException (msg);
}
@@ -87,7 +87,7 @@
| BooleanFormula.Const (ConstantExpr.Const (1)) =>
BooleanFormula.Const (ConstantExpr.Const (0))
| BooleanFormula.Const =>
- error ("invalid argument to !")
+ error ("invalid argument to !"); null
| x => BooleanFormula.Not (x)
}
| BooleanFormula.And (x1, x2) =>
@@ -95,13 +95,13 @@
| BooleanFormula.Const (ConstantExpr.Const (0)) => no_actions (x2); BooleanFormula.Const (ConstantExpr.Const (0))
| BooleanFormula.Const (ConstantExpr.Const (1)) => fold_expr (x2)
| BooleanFormula.Const =>
- error ("invalid left argument to &&")
+ error ("invalid left argument to &&"); null
| x1 =>
match (fold_expr (x2)) {
| BooleanFormula.Const (ConstantExpr.Const (0)) => no_actions (x1); BooleanFormula.Const (ConstantExpr.Const (0))
| BooleanFormula.Const (ConstantExpr.Const (1)) => x1
| BooleanFormula.Const =>
- error ("invalid right argument to &&")
+ error ("invalid right argument to &&"); null
| x2 => BooleanFormula.And (x1, x2)
}
}
@@ -111,13 +111,13 @@
| BooleanFormula.Const (ConstantExpr.Const (0)) => fold_expr (x2)
| BooleanFormula.Const (ConstantExpr.Const (1)) => no_actions (x2); BooleanFormula.Const (ConstantExpr.Const (1))
| BooleanFormula.Const =>
- error ("invalid left argument to ||")
+ error ("invalid left argument to ||"); null
| x1 =>
match (fold_expr (x2)) {
| BooleanFormula.Const (ConstantExpr.Const (1)) => no_actions (x1); BooleanFormula.Const (ConstantExpr.Const (1))
| BooleanFormula.Const (ConstantExpr.Const (0)) => x1
| BooleanFormula.Const =>
- error ("invalid right argument to ||")
+ error ("invalid right argument to ||"); null
| x2 => BooleanFormula.Or (x1, x2)
}
}
@@ -126,12 +126,12 @@
eval_const (expr : ConstantExpr) : int
{
match (expr) {
- | ConstantExpr.Const (x) => if (x < 0) error ("negative literal") else x
+ | ConstantExpr.Const (x) => if (x < 0) { error ("negative literal"); 0 } else x
| ConstantExpr.Ref (name) =>
match (variables.Get (name)) {
| Some (v) =>
v.current_value
- | None => error ("undef variable " + name)
+ | None => error ("undef variable " + name); 0
}
| ConstantExpr.Binary (op, e1, e2) =>
def e1 = eval_const (e1);
@@ -139,7 +139,7 @@
match (op) {
| BinaryOperator.Plus => e1 + e2
| BinaryOperator.Minus =>
- if (e1 - e2 < 0) error ("negative `-' result")
+ if (e1 - e2 < 0) { error ("negative `-' result"); 0 }
else e1 - e2
| BinaryOperator.Equal =>
if (e1 == e2) 1 else 0
@@ -151,7 +151,7 @@
| ConstantExpr.Not (e) =>
def e = eval_const (e);
- if (e > 1) error ("non boolean arg to !")
+ if (e > 1) { error ("non boolean arg to !"); 0 }
else if (e == 0) 1 else 0
}
}
@@ -222,7 +222,7 @@
def e =
match (fold_expr (expr)) {
| BooleanFormula.Const (ConstantExpr.Const (x)) => x
- | _ => error ("evil constant folding result")
+ | _ => error ("evil constant folding result"); 0
};
e % (v.max_value + 1);
} else
@@ -239,7 +239,7 @@
error ("unused goto assign to `" + x + "'")
});
[Stmt.Goto ([], name)]
- | None => error ("undef label " + name)
+ | None => error ("undef label " + name); null
}
| Stmt.Vars (newvars, body) =>
@@ -273,10 +273,10 @@
| BooleanFormula.Const (ConstantExpr.Const (0)) =>
[Stmt.If (BooleanFormula.Dummy_true (), unfolds (l2), unfolds (l1))]
//unfolds (l2)
- | BooleanFormula.Const => error ("evil constant folding result to if")
+ | BooleanFormula.Const => error ("evil constant folding result to if"); null
| BooleanFormula.And
| BooleanFormula.Or
- | BooleanFormula.Not => error ("&&, || or ! survived!")
+ | BooleanFormula.Not => error ("&&, || or ! survived!"); null
| (BooleanFormula.Cond) as c =>
[Stmt.If (c, unfolds (l1), unfolds (l2))]
}
Modified: nemerle/trunk/snippets/nswiki.n
==============================================================================
--- nemerle/trunk/snippets/nswiki.n (original)
+++ nemerle/trunk/snippets/nswiki.n Wed Jul 4 10:33:06 2007
@@ -168,7 +168,7 @@
}
}
- fatal['a] (msg : string) : 'a
+ fatal (msg : string) : void
{
throw System.Exception (msg)
}
@@ -181,7 +181,7 @@
else page;
regexp match (page) {
| "^[A-Za-z0-9_-]+$" => page
- | _ => fatal ($ "'$(page)' is an invalid page name")
+ | _ => fatal ($ "'$(page)' is an invalid page name"); ""
}
}
@@ -264,7 +264,7 @@
def rev =
regexp match (o.Replace ('\n', ' ')) {
| @".*Revision: (?<n : int>[0-9]+).*" => n
- | _ => fatal ($ "bad svn info format: $o [$e]")
+ | _ => fatal ($ "bad svn info format: $o [$e]"); 0
};
def content =
using (f = System.IO.File.OpenText (fn + "content"))
@@ -385,7 +385,7 @@
def page = get_page_name ();
def msg = "Wiki page edit.";
- inside_checkout (int.Parse (get_with_default (post, "rev")), fun (fn) {
+ _ = inside_checkout (int.Parse (get_with_default (post, "rev")), fun (fn) {
using (f = System.IO.File.CreateText (fn + "content"))
f.Write (get_with_default (post, "text"));
// merge any changes
@@ -400,6 +400,7 @@
display_headers ();
print (wikize (f.ReadToEnd ()));
display_footers ();
+ null
})
}
More information about the svn
mailing list