about summary refs log tree commit diff
path: root/src/comp/syntax
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-08-05 11:46:43 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-08-05 11:46:43 -0700
commitfd7ffd5ac27aa131a858a8a4954c545ece48644b (patch)
treee68f481aafd8775fc4fd2e0a85a63511ada4d93e /src/comp/syntax
parent59e9b629c042e9417e5ac662cbf21c0205e765c7 (diff)
downloadrust-fd7ffd5ac27aa131a858a8a4954c545ece48644b.tar.gz
rust-fd7ffd5ac27aa131a858a8a4954c545ece48644b.zip
rustc: Add inlineness to the fn decl instead
Diffstat (limited to 'src/comp/syntax')
-rw-r--r--src/comp/syntax/ast.rs3
-rw-r--r--src/comp/syntax/fold.rs2
-rw-r--r--src/comp/syntax/parse/parser.rs3
3 files changed, 8 insertions, 0 deletions
diff --git a/src/comp/syntax/ast.rs b/src/comp/syntax/ast.rs
index ff8e6c0893c..5b0787a5fc4 100644
--- a/src/comp/syntax/ast.rs
+++ b/src/comp/syntax/ast.rs
@@ -511,10 +511,13 @@ type ty_constr = spanned[ty_constr_];
  corresponding to these. */
 type arg = {mode: mode, ty: @ty, ident: ident, id: node_id};
 
+tag inlineness { il_normal; il_inline; }
+
 type fn_decl =
     {inputs: arg[],
      output: @ty,
      purity: purity,
+     il: inlineness,
      cf: controlflow,
      constraints: (@constr)[]};
 
diff --git a/src/comp/syntax/fold.rs b/src/comp/syntax/fold.rs
index e2bb0380c04..af0673da358 100644
--- a/src/comp/syntax/fold.rs
+++ b/src/comp/syntax/fold.rs
@@ -191,6 +191,7 @@ fn noop_fold_native_item(ni: &@native_item, fld: ast_fold) -> @native_item {
                                  {inputs: ivec::map(fold_arg, fdec.inputs),
                                   output: fld.fold_ty(fdec.output),
                                   purity: fdec.purity,
+                                  il: fdec.il,
                                   cf: fdec.cf,
                                   constraints:
                                       ivec::map(fld.fold_constr,
@@ -449,6 +450,7 @@ fn noop_fold_fn(f: &_fn, fld: ast_fold) -> _fn {
              {inputs: ivec::map(fold_arg, f.decl.inputs),
               output: fld.fold_ty(f.decl.output),
               purity: f.decl.purity,
+              il: f.decl.il,
               cf: f.decl.cf,
               constraints: ivec::map(fld.fold_constr, f.decl.constraints)},
          proto: f.proto,
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index 9e7f693c74b..125c6f04852 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -1730,6 +1730,7 @@ fn parse_fn_decl(p: &parser, purity: ast::purity) -> ast::fn_decl {
         ret {inputs: inputs.node,
              output: t,
              purity: purity,
+             il: ast::il_normal,
              cf: ast::return,
              constraints: constrs};
       }
@@ -1737,6 +1738,7 @@ fn parse_fn_decl(p: &parser, purity: ast::purity) -> ast::fn_decl {
         ret {inputs: inputs.node,
              output: @spanned(p.get_lo_pos(), p.get_hi_pos(), ast::ty_bot),
              purity: purity,
+             il: ast::il_normal,
              cf: ast::noreturn,
              constraints: constrs};
       }
@@ -1839,6 +1841,7 @@ fn parse_item_res(p: &parser, attrs: &ast::attribute[]) ->
                 id: p.get_id()}],
          output: @spanned(lo, lo, ast::ty_nil),
          purity: ast::impure_fn,
+         il: ast::il_normal,
          cf: ast::return,
          constraints: ~[]};
     let f = {decl: decl, proto: ast::proto_fn, body: dtor};