Skip to content

Commit 74252d8

Browse files
committed
---
yaml --- r: 81922 b: refs/heads/master c: daee1b4 h: refs/heads/master v: v3
1 parent e563f27 commit 74252d8

File tree

16 files changed

+254
-237
lines changed

16 files changed

+254
-237
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 42bcf638b0213747e01af87353413755b9ebc270
2+
refs/heads/master: daee1b4d5c6e1db8563c57ff5529b62d0a29fbde
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 6c08cc2db4f98e9f07ae7d50338396c4123c2f0a
55
refs/heads/try: 70152ff55722878cde684ee6462c14c65f2c4729

trunk/src/librustc/middle/trans/controlflow.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use syntax::ast;
2525
use syntax::ast::Name;
2626
use syntax::ast_util;
2727
use syntax::codemap::Span;
28+
use syntax::visit::Visitor;
2829

2930
pub fn trans_block(bcx: @mut Block, b: &ast::Block, dest: expr::Dest) -> @mut Block {
3031
let _icx = push_ctxt("trans_block");
@@ -64,12 +65,22 @@ pub fn trans_if(bcx: @mut Block,
6465
// Drop branches that are known to be impossible
6566
if is_const(cond_val) && !is_undef(cond_val) {
6667
if const_to_uint(cond_val) == 1 {
68+
match els {
69+
Some(elexpr) => {
70+
let mut trans = TransItemVisitor { ccx: bcx.fcx.ccx };
71+
trans.visit_expr(elexpr, ());
72+
}
73+
None => {}
74+
}
6775
// if true { .. } [else { .. }]
6876
return do with_scope(bcx, thn.info(), "if_true_then") |bcx| {
6977
let bcx_out = trans_block(bcx, thn, dest);
7078
trans_block_cleanups(bcx_out, block_cleanups(bcx))
7179
}
7280
} else {
81+
let mut trans = TransItemVisitor { ccx: bcx.fcx.ccx } ;
82+
trans.visit_block(thn, ());
83+
7384
match els {
7485
// if false { .. } else { .. }
7586
Some(elexpr) => {

trunk/src/librustdoc/clean.rs

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use its = syntax::parse::token::ident_to_str;
1616
use syntax;
1717
use syntax::ast;
1818
use syntax::ast_util;
19-
use syntax::attr;
2019
use syntax::attr::AttributeMethods;
2120

2221
use std;
@@ -150,8 +149,6 @@ pub enum ItemEnum {
150149
MethodItem(Method),
151150
StructFieldItem(StructField),
152151
VariantItem(Variant),
153-
ForeignFunctionItem(Function),
154-
ForeignStaticItem(Static),
155152
}
156153

157154
#[deriving(Clone, Encodable, Decodable)]
@@ -175,7 +172,6 @@ impl Clean<Item> for doctree::Module {
175172
inner: ModuleItem(Module {
176173
items: std::vec::concat(&[self.structs.clean(),
177174
self.enums.clean(), self.fns.clean(),
178-
std::vec::concat(self.foreigns.clean()),
179175
self.mods.clean(), self.typedefs.clean(),
180176
self.statics.clean(), self.traits.clean(),
181177
self.impls.clean(), self.view_items.clean()])
@@ -207,25 +203,6 @@ impl Clean<Attribute> for ast::Attribute {
207203
}
208204
}
209205

210-
// This is a rough approximation that gets us what we want.
211-
impl<'self> attr::AttrMetaMethods for &'self Attribute {
212-
fn name(&self) -> @str {
213-
match **self {
214-
Word(ref n) | List(ref n, _) | NameValue(ref n, _) =>
215-
n.to_managed()
216-
}
217-
}
218-
219-
fn value_str(&self) -> Option<@str> {
220-
match **self {
221-
NameValue(_, ref v) => Some(v.to_managed()),
222-
_ => None,
223-
}
224-
}
225-
fn meta_item_list<'a>(&'a self) -> Option<&'a [@ast::MetaItem]> { None }
226-
fn name_str_pair(&self) -> Option<(@str, @str)> { None }
227-
}
228-
229206
#[deriving(Clone, Encodable, Decodable)]
230207
pub struct TyParam {
231208
name: ~str,
@@ -991,41 +968,6 @@ impl Clean<ViewListIdent> for ast::path_list_ident {
991968
}
992969
}
993970

994-
impl Clean<~[Item]> for ast::foreign_mod {
995-
fn clean(&self) -> ~[Item] {
996-
self.items.clean()
997-
}
998-
}
999-
1000-
impl Clean<Item> for ast::foreign_item {
1001-
fn clean(&self) -> Item {
1002-
let inner = match self.node {
1003-
ast::foreign_item_fn(ref decl, ref generics) => {
1004-
ForeignFunctionItem(Function {
1005-
decl: decl.clean(),
1006-
generics: generics.clean(),
1007-
purity: ast::extern_fn,
1008-
})
1009-
}
1010-
ast::foreign_item_static(ref ty, mutbl) => {
1011-
ForeignStaticItem(Static {
1012-
type_: ty.clean(),
1013-
mutability: if mutbl {Mutable} else {Immutable},
1014-
expr: ~"",
1015-
})
1016-
}
1017-
};
1018-
Item {
1019-
name: Some(self.ident.clean()),
1020-
attrs: self.attrs.clean(),
1021-
source: self.span.clean(),
1022-
id: self.id,
1023-
visibility: self.vis.clean(),
1024-
inner: inner,
1025-
}
1026-
}
1027-
}
1028-
1029971
// Utilities
1030972

1031973
trait ToSource {

trunk/src/librustdoc/doctree.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ pub struct Module {
3030
traits: ~[Trait],
3131
vis: ast::visibility,
3232
impls: ~[Impl],
33-
foreigns: ~[ast::foreign_mod],
3433
view_items: ~[ast::view_item],
3534
}
3635

@@ -51,7 +50,6 @@ impl Module {
5150
traits : ~[],
5251
impls : ~[],
5352
view_items : ~[],
54-
foreigns : ~[],
5553
}
5654
}
5755
}

trunk/src/librustdoc/html/render.rs

Lines changed: 32 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ use extra::json::ToJson;
2828
use extra::sort;
2929

3030
use syntax::ast;
31-
use syntax::attr;
3231

3332
use clean;
3433
use doctree;
@@ -522,14 +521,6 @@ impl Context {
522521
}
523522
}
524523
}
525-
clean::StructItem(s) => {
526-
let mut it = s.fields.move_iter();
527-
do self.recurse(name) |this| {
528-
for item in it {
529-
f(this, item);
530-
}
531-
}
532-
}
533524
_ => {}
534525
}
535526
}
@@ -541,21 +532,19 @@ impl Context {
541532

542533
fn shortty(item: &clean::Item) -> &'static str {
543534
match item.inner {
544-
clean::ModuleItem(*) => "mod",
545-
clean::StructItem(*) => "struct",
546-
clean::EnumItem(*) => "enum",
547-
clean::FunctionItem(*) => "fn",
548-
clean::TypedefItem(*) => "typedef",
549-
clean::StaticItem(*) => "static",
550-
clean::TraitItem(*) => "trait",
551-
clean::ImplItem(*) => "impl",
552-
clean::ViewItemItem(*) => "viewitem",
553-
clean::TyMethodItem(*) => "tymethod",
554-
clean::MethodItem(*) => "method",
555-
clean::StructFieldItem(*) => "structfield",
556-
clean::VariantItem(*) => "variant",
557-
clean::ForeignFunctionItem(*) => "ffi",
558-
clean::ForeignStaticItem(*) => "ffs",
535+
clean::ModuleItem(*) => "mod",
536+
clean::StructItem(*) => "struct",
537+
clean::EnumItem(*) => "enum",
538+
clean::FunctionItem(*) => "fn",
539+
clean::TypedefItem(*) => "typedef",
540+
clean::StaticItem(*) => "static",
541+
clean::TraitItem(*) => "trait",
542+
clean::ImplItem(*) => "impl",
543+
clean::ViewItemItem(*) => "viewitem",
544+
clean::TyMethodItem(*) => "tymethod",
545+
clean::MethodItem(*) => "method",
546+
clean::StructFieldItem(*) => "structfield",
547+
clean::VariantItem(*) => "variant",
559548
}
560549
}
561550

@@ -569,18 +558,6 @@ impl<'self> Item<'self> {
569558

570559
impl<'self> fmt::Default for Item<'self> {
571560
fn fmt(it: &Item<'self>, fmt: &mut fmt::Formatter) {
572-
match attr::find_stability(it.item.attrs.iter()) {
573-
Some(stability) => {
574-
write!(fmt.buf,
575-
"<a class='stability {lvl}' title='{reason}'>{lvl}</a>",
576-
lvl = stability.level.to_str(),
577-
reason = match stability.text {
578-
Some(s) => s, None => @"",
579-
});
580-
}
581-
None => {}
582-
}
583-
584561
// Write the breadcrumb trail header for the top
585562
write!(fmt.buf, "<h1 class='fqn'>");
586563
match it.item.inner {
@@ -607,15 +584,12 @@ impl<'self> fmt::Default for Item<'self> {
607584
match it.item.inner {
608585
clean::ModuleItem(ref m) => item_module(fmt.buf, it.cx,
609586
it.item, m.items),
610-
clean::FunctionItem(ref f) | clean::ForeignFunctionItem(ref f) =>
611-
item_function(fmt.buf, it.item, f),
587+
clean::FunctionItem(ref f) => item_function(fmt.buf, it.item, f),
612588
clean::TraitItem(ref t) => item_trait(fmt.buf, it.item, t),
613589
clean::StructItem(ref s) => item_struct(fmt.buf, it.item, s),
614590
clean::EnumItem(ref e) => item_enum(fmt.buf, it.item, e),
615591
clean::TypedefItem(ref t) => item_typedef(fmt.buf, it.item, t),
616592
clean::VariantItem(*) => item_variant(fmt.buf, it.cx, it.item),
617-
clean::StructFieldItem(*) => item_struct_field(fmt.buf, it.cx,
618-
it.item),
619593
_ => {}
620594
}
621595
}
@@ -689,10 +663,6 @@ fn item_module(w: &mut io::Writer, cx: &Context,
689663
(_, &clean::EnumItem(*)) => false,
690664
(&clean::StaticItem(*), _) => true,
691665
(_, &clean::StaticItem(*)) => false,
692-
(&clean::ForeignFunctionItem(*), _) => true,
693-
(_, &clean::ForeignFunctionItem(*)) => false,
694-
(&clean::ForeignStaticItem(*), _) => true,
695-
(_, &clean::ForeignStaticItem(*)) => false,
696666
(&clean::TraitItem(*), _) => true,
697667
(_, &clean::TraitItem(*)) => false,
698668
(&clean::FunctionItem(*), _) => true,
@@ -720,31 +690,27 @@ fn item_module(w: &mut io::Writer, cx: &Context,
720690
}
721691
curty = myty;
722692
write!(w, "<h2>{}</h2>\n<table>", match myitem.inner {
723-
clean::ModuleItem(*) => "Modules",
724-
clean::StructItem(*) => "Structs",
725-
clean::EnumItem(*) => "Enums",
726-
clean::FunctionItem(*) => "Functions",
727-
clean::TypedefItem(*) => "Type Definitions",
728-
clean::StaticItem(*) => "Statics",
729-
clean::TraitItem(*) => "Traits",
730-
clean::ImplItem(*) => "Implementations",
731-
clean::ViewItemItem(*) => "Reexports",
732-
clean::TyMethodItem(*) => "Type Methods",
733-
clean::MethodItem(*) => "Methods",
734-
clean::StructFieldItem(*) => "Struct Fields",
735-
clean::VariantItem(*) => "Variants",
736-
clean::ForeignFunctionItem(*) => "Foreign Functions",
737-
clean::ForeignStaticItem(*) => "Foreign Statics",
693+
clean::ModuleItem(*) => "Modules",
694+
clean::StructItem(*) => "Structs",
695+
clean::EnumItem(*) => "Enums",
696+
clean::FunctionItem(*) => "Functions",
697+
clean::TypedefItem(*) => "Type Definitions",
698+
clean::StaticItem(*) => "Statics",
699+
clean::TraitItem(*) => "Traits",
700+
clean::ImplItem(*) => "Implementations",
701+
clean::ViewItemItem(*) => "Reexports",
702+
clean::TyMethodItem(*) => "Type Methods",
703+
clean::MethodItem(*) => "Methods",
704+
clean::StructFieldItem(*) => "Struct Fields",
705+
clean::VariantItem(*) => "Variants",
738706
});
739707
}
740708

741709
match myitem.inner {
742-
clean::StaticItem(ref s) | clean::ForeignStaticItem(ref s) => {
710+
clean::StaticItem(ref s) => {
743711
struct Initializer<'self>(&'self str);
744712
impl<'self> fmt::Default for Initializer<'self> {
745713
fn fmt(s: &Initializer<'self>, f: &mut fmt::Formatter) {
746-
if s.len() == 0 { return; }
747-
write!(f.buf, "<code> = </code>");
748714
let tag = if s.contains("\n") { "pre" } else { "code" };
749715
write!(f.buf, "<{tag}>{}</{tag}>",
750716
s.as_slice(), tag=tag);
@@ -753,7 +719,7 @@ fn item_module(w: &mut io::Writer, cx: &Context,
753719

754720
write!(w, "
755721
<tr>
756-
<td><code>{}static {}: {}</code>{}</td>
722+
<td><code>{}static {}: {} = </code>{}</td>
757723
<td class='docblock'>{}&nbsp;</td>
758724
</tr>
759725
",
@@ -1014,12 +980,11 @@ fn render_struct(w: &mut io::Writer, it: &clean::Item,
1014980
for field in fields.iter() {
1015981
match field.inner {
1016982
clean::StructFieldItem(ref ty) => {
1017-
write!(w, " {}<a name='field.{name}'>{name}</a>: \
1018-
{},\n{}",
983+
write!(w, " {}{}: {},\n{}",
1019984
VisSpace(field.visibility),
985+
field.name.get_ref().as_slice(),
1020986
ty.type_,
1021-
tab,
1022-
name = field.name.get_ref().as_slice());
987+
tab);
1023988
}
1024989
_ => unreachable!()
1025990
}
@@ -1205,12 +1170,3 @@ fn item_variant(w: &mut io::Writer, cx: &Context, it: &clean::Item) {
12051170
*cx.current.last(),
12061171
it.name.get_ref().as_slice());
12071172
}
1208-
1209-
fn item_struct_field(w: &mut io::Writer, cx: &Context, it: &clean::Item) {
1210-
write!(w, "<DOCTYPE html><html><head>\
1211-
<meta http-equiv='refresh' content='0; \
1212-
url=../struct.{}.html\\#field.{}'>\
1213-
</head><body></body></html>",
1214-
*cx.current.last(),
1215-
it.name.get_ref().as_slice());
1216-
}

trunk/src/librustdoc/html/static/main.css

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -269,18 +269,3 @@ a {
269269
float: left;
270270
padding: 20px;
271271
}
272-
273-
.stability {
274-
border-left: 5px solid #000;
275-
border-radius: 3px;
276-
padding: 0 3px;
277-
float: right;
278-
background: #fff;
279-
text-transform: lowercase;
280-
}
281-
.stability.Deprecated { border-color: #D60027; color: #880017; }
282-
.stability.Experimental { border-color: #EC5315; color: #a53c0e; }
283-
.stability.Unstable { border-color: #FFD700; color: #b39800; }
284-
.stability.Stable { border-color: #AEC516; color: #7c8b10; }
285-
.stability.Frozen { border-color: #009431; color: #007726; }
286-
.stability.Locked { border-color: #0084B6; color: #00668c; }

0 commit comments

Comments
 (0)