diff options
| author | Graydon Hoare <[email protected]> | 2011-03-05 20:05:02 +0000 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-03-05 20:05:02 +0000 |
| commit | d97c800e3179604db82e35bff682ea1ed6ec3909 (patch) | |
| tree | 2e2626267568eedc209da557d1e887afd5ec2459 | |
| parent | rustc: Use copy_ty() when initializing N-ary tag variants. Un-XFAIL generic-t... (diff) | |
| download | rust-d97c800e3179604db82e35bff682ea1ed6ec3909.tar.xz rust-d97c800e3179604db82e35bff682ea1ed6ec3909.zip | |
Make ret and fail stmts have 0 out-edges, Closes #250.
| -rw-r--r-- | src/boot/me/typestate.ml | 5 | ||||
| -rw-r--r-- | src/comp/front/lexer.rs | 5 | ||||
| -rw-r--r-- | src/comp/middle/fold.rs | 4 | ||||
| -rw-r--r-- | src/comp/middle/ty.rs | 2 |
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 |