use util::nodemap::FnvHashMap;
use std::cell::RefCell;
-use std::tuple::Tuple2;
use std::mem;
use syntax::ast_util::IdVisitingOperation;
use syntax::attr::AttrMetaMethods;
}
fn set_level(&mut self, lint: LintId, lvlsrc: LevelSource) {
- if lvlsrc.val0() == Allow {
+ if lvlsrc.0 == Allow {
self.levels.remove(&lint);
} else {
self.levels.insert(lint, lvlsrc);
pub fn get_lint_groups<'t>(&'t self) -> Vec<(&'static str, Vec<LintId>, bool)> {
self.lint_groups.iter().map(|(k, v)| (*k,
- v.ref0().clone(),
- *v.ref1())).collect()
+ v.0.clone(),
+ v.1)).collect()
}
pub fn register_pass(&mut self, sess: Option<&Session>,
match self.find_lint(lint_name.as_slice(), sess, None) {
Some(lint_id) => self.set_level(lint_id, (level, CommandLine)),
None => {
- match self.lint_groups.iter().map(|(&x, pair)| (x, pair.ref0().clone()))
+ match self.lint_groups.iter().map(|(&x, pair)| (x, pair.0.clone()))
.collect::<FnvHashMap<&'static str,
Vec<LintId>>>()
.get(lint_name.as_slice()) {
None => return,
Some(&(Warn, src)) => {
let lint_id = LintId::of(builtin::WARNINGS);
- (self.lints.get_level_source(lint_id).val0(), src)
+ (self.lints.get_level_source(lint_id).0, src)
}
Some(&pair) => pair,
};
};
for (lint_id, level, span) in v.into_iter() {
- let now = self.lints.get_level_source(lint_id).val0();
+ let now = self.lints.get_level_source(lint_id).0;
if now == Forbid && level != Forbid {
let lint_name = lint_id.as_str();
self.tcx.sess.span_err(span,
level.as_str(), lint_name,
lint_name).as_slice());
} else if now != level {
- let src = self.lints.get_level_source(lint_id).val1();
+ let src = self.lints.get_level_source(lint_id).1;
self.level_stack.push((lint_id, (now, src)));
pushed += 1;
self.lints.set_level(lint_id, (level, Node(span)));
let dypair = self.dylibname();
// want: crate_name.dir_part() + prefix + crate_name.file_part + "-"
- let dylib_prefix = format!("{}{}", dypair.ref0(), self.crate_name);
+ let dylib_prefix = format!("{}{}", dypair.0, self.crate_name);
let rlib_prefix = format!("lib{}", self.crate_name);
let mut candidates = HashMap::new();
(file.slice(rlib_prefix.len(), file.len() - ".rlib".len()),
true)
} else if file.starts_with(dylib_prefix.as_slice()) &&
- file.ends_with(dypair.ref1().as_slice()) {
- (file.slice(dylib_prefix.len(), file.len() - dypair.ref1().len()),
+ file.ends_with(dypair.1.as_slice()) {
+ (file.slice(dylib_prefix.len(), file.len() - dypair.1.len()),
false)
} else {
return FileDoesntMatch
impl<'a, 'tcx> DataflowLabeller<'a, 'tcx> {
fn dataflow_for(&self, e: EntryOrExit, n: &Node<'a>) -> String {
- let id = n.val1().data.id;
+ let id = n.1.data.id;
debug!("dataflow_for({}, id={}) {}", e, id, self.variants);
let mut sets = "".to_string();
let mut seen_one = false;
}
fn dataflow_for_variant(&self, e: EntryOrExit, n: &Node, v: Variant) -> String {
- let cfgidx = n.val0();
+ let cfgidx = n.0;
match v {
Loans => self.dataflow_loans_for(e, cfgidx),
Moves => self.dataflow_moves_for(e, cfgidx),