diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2011-03-05 20:05:02 +0000 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2011-03-05 20:05:02 +0000 |
| commit | d97c800e3179604db82e35bff682ea1ed6ec3909 (patch) | |
| tree | 2e2626267568eedc209da557d1e887afd5ec2459 /src | |
| parent | 94b681afe4f8fb09141d459963b268c76fbd0072 (diff) | |
| download | rust-d97c800e3179604db82e35bff682ea1ed6ec3909.tar.gz rust-d97c800e3179604db82e35bff682ea1ed6ec3909.zip | |
Make ret and fail stmts have 0 out-edges, Closes #250.
Diffstat (limited to 'src')
| -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 1c9c90eaa4a..8b7840a2837 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 99e9217f507..0e15e3d8c35 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 c7041b26354..935f426b74f 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 2fc3160cc01..0b6ef53bf6d 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 |
