Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve internal docs and code style in librustc/front #30621

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion src/librustc/front/map/blocks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,12 @@ struct ClosureParts<'a> {

impl<'a> ClosureParts<'a> {
fn new(d: &'a FnDecl, b: &'a Block, id: NodeId, s: Span) -> ClosureParts<'a> {
ClosureParts { decl: d, body: b, id: id, span: s }
ClosureParts {
decl: d,
body: b,
id: id,
span: s
}
}
}

Expand Down
4 changes: 4 additions & 0 deletions src/librustc/front/map/collector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,13 @@ use syntax::codemap::Span;
/// A Visitor that walks over an AST and collects Node's into an AST
/// Map.
pub struct NodeCollector<'ast> {
/// The crate
pub krate: &'ast Crate,
/// The node map
pub map: Vec<MapEntry<'ast>>,
/// The definitions, used for name resolution
pub definitions: Definitions,
/// The parrent of this node
pub parent_node: NodeId,
}

Expand Down
32 changes: 26 additions & 6 deletions src/librustc/front/map/definitions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use syntax::ast;
use syntax::parse::token::InternedString;
use util::nodemap::NodeMap;

/// A definition, that defines are
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"that defines are"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

#[derive(Clone)]
pub struct Definitions {
data: Vec<DefData>,
Expand Down Expand Up @@ -66,36 +67,53 @@ pub type DefPath = Vec<DisambiguatedDefPathData>;
pub enum DefPathData {
// Root: these should only be used for the root nodes, because
// they are treated specially by the `def_path` function.
/// The crate root (marker)
CrateRoot,
/// An inlined root
InlinedRoot(DefPath),

// Catch-all for random DefId things like DUMMY_NODE_ID
Misc,

// Different kinds of items and item-like things:
/// An implementation
Impl(ast::Name),
/// A type (struct, enum, etc.)
Type(ast::Name),
/// A module declaration
Mod(ast::Name),
/// A value
Value(ast::Name),
/// A macro rule
MacroDef(ast::Name),
/// A closure expression
ClosureExpr,

// Subportions of items
/// A type parameter (generic parameter)
TypeParam(ast::Name),
/// A lifetime definition
LifetimeDef(ast::Name),
/// A variant of a enum
EnumVariant(ast::Name),
/// A positional field, for example a tuple field
PositionalField,
/// A struct field
Field(hir::StructFieldKind),
StructCtor, // implicit ctor for a tuple-like struct
Initializer, // initializer for a const
Binding(ast::Name), // pattern binding

// An external crate that does not have an `extern crate` in this
// crate.
/// Implicit ctor for a tuple-like struct
StructCtor,
/// Initializer for a constant
Initializer,
/// A pattern binding
Binding(ast::Name),

/// An external crate that does not have an `extern crate` in this
/// crate.
DetachedCrate(ast::Name),
}

impl Definitions {
/// Create new empty definition map
pub fn new() -> Definitions {
Definitions {
data: vec![],
Expand All @@ -104,6 +122,7 @@ impl Definitions {
}
}

/// Get the number of definitions
pub fn len(&self) -> usize {
self.data.len()
}
Expand Down Expand Up @@ -138,6 +157,7 @@ impl Definitions {
}
}

/// Add a definition with a parrent definition
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also says "parrent"

pub fn create_def_with_parent(&mut self,
parent: Option<DefIndex>,
node_id: ast::NodeId,
Expand Down
41 changes: 19 additions & 22 deletions src/librustc_back/sha2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,10 @@ fn write_u32_be(dst: &mut[u8], input: u32) {

/// Read the value of a vector of bytes as a u32 value in big-endian format.
fn read_u32_be(input: &[u8]) -> u32 {
return
(input[0] as u32) << 24 |
(input[0] as u32) << 24 |
(input[1] as u32) << 16 |
(input[2] as u32) << 8 |
(input[3] as u32);
(input[3] as u32)
}

/// Read a vector of bytes into a vector of u32s. The values are read in big-endian format.
Expand All @@ -50,7 +49,7 @@ trait ToBits {

impl ToBits for u64 {
fn to_bits(self) -> (u64, u64) {
return (self >> 61, self << 3);
(self >> 61, self << 3)
}
}

Expand All @@ -64,7 +63,7 @@ fn add_bytes_to_bits(bits: u64, bytes: u64) -> u64 {
}

match bits.checked_add(new_low_bits) {
Some(x) => return x,
Some(x) => x,
None => panic!("numeric overflow occurred.")
}
}
Expand Down Expand Up @@ -113,10 +112,10 @@ struct FixedBuffer64 {
impl FixedBuffer64 {
/// Create a new FixedBuffer64
fn new() -> FixedBuffer64 {
return FixedBuffer64 {
FixedBuffer64 {
buffer: [0; 64],
buffer_idx: 0
};
}
}
}

Expand Down Expand Up @@ -175,13 +174,13 @@ impl FixedBuffer for FixedBuffer64 {

fn next<'s>(&'s mut self, len: usize) -> &'s mut [u8] {
self.buffer_idx += len;
return &mut self.buffer[self.buffer_idx - len..self.buffer_idx];
&mut self.buffer[self.buffer_idx - len..self.buffer_idx]
}

fn full_buffer<'s>(&'s mut self) -> &'s [u8] {
assert!(self.buffer_idx == 64);
self.buffer_idx = 0;
return &self.buffer[..64];
&self.buffer[..64]
}

fn position(&self) -> usize { self.buffer_idx }
Expand Down Expand Up @@ -278,7 +277,7 @@ struct Engine256State {

impl Engine256State {
fn new(h: &[u32; 8]) -> Engine256State {
return Engine256State {
Engine256State {
h0: h[0],
h1: h[1],
h2: h[2],
Expand All @@ -287,7 +286,7 @@ impl Engine256State {
h5: h[5],
h6: h[6],
h7: h[7]
};
}
}

fn reset(&mut self, h: &[u32; 8]) {
Expand Down Expand Up @@ -433,7 +432,7 @@ struct Engine256 {

impl Engine256 {
fn new(h: &[u32; 8]) -> Engine256 {
return Engine256 {
Engine256 {
length_bits: 0,
buffer: FixedBuffer64::new(),
state: Engine256State::new(h),
Expand All @@ -457,17 +456,15 @@ impl Engine256 {
}

fn finish(&mut self) {
if self.finished {
return;
if !self.finished {
let self_state = &mut self.state;
self.buffer.standard_padding(8, |input: &[u8]| { self_state.process_block(input) });
write_u32_be(self.buffer.next(4), (self.length_bits >> 32) as u32 );
write_u32_be(self.buffer.next(4), self.length_bits as u32);
self_state.process_block(self.buffer.full_buffer());

self.finished = true;
}

let self_state = &mut self.state;
self.buffer.standard_padding(8, |input: &[u8]| { self_state.process_block(input) });
write_u32_be(self.buffer.next(4), (self.length_bits >> 32) as u32 );
write_u32_be(self.buffer.next(4), self.length_bits as u32);
self_state.process_block(self.buffer.full_buffer());

self.finished = true;
}
}

Expand Down
20 changes: 10 additions & 10 deletions src/librustc_back/svh.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,15 @@ impl Svh {
}

pub fn calculate(metadata: &Vec<String>, krate: &hir::Crate) -> Svh {
fn hex(b: u64) -> char {
let b = (b & 0xf) as u8;
let b = match b {
0 ... 9 => '0' as u8 + b,
_ => 'a' as u8 + b - 10,
};
b as char
}

// FIXME (#14132): This is better than it used to be, but it still not
// ideal. We now attempt to hash only the relevant portions of the
// Crate AST as well as the top-level crate attributes. (However,
Expand Down Expand Up @@ -101,17 +110,8 @@ impl Svh {
}

let hash = state.finish();
return Svh {
Svh {
hash: (0..64).step_by(4).map(|i| hex(hash >> i)).collect()
};

fn hex(b: u64) -> char {
let b = (b & 0xf) as u8;
let b = match b {
0 ... 9 => '0' as u8 + b,
_ => 'a' as u8 + b - 10,
};
b as char
}
}
}
Expand Down