aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot/me/typestate.ml5
-rw-r--r--src/comp/front/lexer.rs5
-rw-r--r--src/comp/middle/fold.rs4
-rw-r--r--src/comp/middle/ty.rs2
4 files changed, 9 insertions, 7 deletions
diff --git a/src/boot/me/typestate.ml b/src/boot/me/typestate.ml
index 1c9c90ea..8b7840a2 100644
--- a/src/boot/me/typestate.ml
+++ b/src/boot/me/typestate.ml
@@ -865,6 +865,11 @@ let rec build_flow_graph_for_stmt
| Ast.STMT_block b ->
blk predecessors b
+ | Ast.STMT_fail
+ | Ast.STMT_ret _ ->
+ connect predecessors [s.id];
+ []
+
| _ ->
connect predecessors [s.id];
[s.id]
diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs
index 99e9217f..0e15e3d8 100644
--- a/src/comp/front/lexer.rs
+++ b/src/comp/front/lexer.rs
@@ -665,12 +665,9 @@ impure fn next_token(reader rdr) -> token.token {
case ('%') {
ret binop(rdr, token.PERCENT);
}
-
}
- log "lexer stopping at ";
- log c;
- ret token.EOF;
+ fail;
}
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs
index c7041b26..935f426b 100644
--- a/src/comp/middle/fold.rs
+++ b/src/comp/middle/fold.rs
@@ -701,7 +701,7 @@ fn fold_expr[ENV](&ENV env, ast_fold[ENV] fld, &@expr e) -> @expr {
}
- ret e;
+ fail;
}
@@ -724,7 +724,7 @@ fn fold_stmt[ENV](&ENV env, ast_fold[ENV] fld, &@stmt s) -> @stmt {
ret fld.fold_stmt_expr(env_, s.span, ee);
}
}
- ret s;
+ fail;
}
fn fold_block[ENV](&ENV env, ast_fold[ENV] fld, &block blk) -> block {
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 2fc3160c..0b6ef53b 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -373,7 +373,7 @@ fn fold_ty(ty_fold fld, @t ty) -> @t {
case (ty_param(_)) { ret fld.fold_simple_ty(ty); }
}
- ret ty;
+ fail;
}
// Type utilities