mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
review comments: unify duplicated code
This commit is contained in:
parent
03bcebbc60
commit
9a9b747371
@ -31,7 +31,7 @@ use hir::def_id::{DefId, DefIndex, LocalDefId, CRATE_DEF_INDEX};
|
||||
use util::nodemap::{NodeMap, FxHashSet};
|
||||
use mir::mono::Linkage;
|
||||
|
||||
use syntax_pos::{Span, DUMMY_SP};
|
||||
use syntax_pos::{Span, DUMMY_SP, symbol::InternedString};
|
||||
use syntax::codemap::{self, Spanned};
|
||||
use rustc_target::spec::abi::Abi;
|
||||
use syntax::ast::{self, CrateSugar, Ident, Name, NodeId, DUMMY_NODE_ID, AsmDialect};
|
||||
@ -547,6 +547,15 @@ impl Generics {
|
||||
|
||||
own_counts
|
||||
}
|
||||
|
||||
pub fn get_named(&self, name: &InternedString) -> Option<&GenericParam> {
|
||||
for param in &self.params {
|
||||
if *name == param.name.name().as_interned_str() {
|
||||
return Some(param);
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
/// Synthetic Type Parameters are converted to an other form during lowering, this allows
|
||||
|
@ -223,12 +223,10 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
||||
let (prefix, span) = match *region {
|
||||
ty::ReEarlyBound(ref br) => {
|
||||
let mut sp = cm.def_span(self.hir.span(node));
|
||||
if let Some(generics) = self.hir.get_generics(scope) {
|
||||
for param in &generics.params {
|
||||
if param.name.name().as_str() == br.name.as_str() {
|
||||
sp = param.span;
|
||||
}
|
||||
}
|
||||
if let Some(param) = self.hir.get_generics(scope).and_then(|generics| {
|
||||
generics.get_named(&br.name)
|
||||
}) {
|
||||
sp = param.span;
|
||||
}
|
||||
(format!("the lifetime {} as defined on", br.name), sp)
|
||||
}
|
||||
@ -236,12 +234,10 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
||||
bound_region: ty::BoundRegion::BrNamed(_, ref name), ..
|
||||
}) => {
|
||||
let mut sp = cm.def_span(self.hir.span(node));
|
||||
if let Some(generics) = self.hir.get_generics(scope) {
|
||||
for param in &generics.params {
|
||||
if param.name.name().as_str() == name.as_str() {
|
||||
sp = param.span;
|
||||
}
|
||||
}
|
||||
if let Some(param) = self.hir.get_generics(scope).and_then(|generics| {
|
||||
generics.get_named(&name)
|
||||
}) {
|
||||
sp = param.span;
|
||||
}
|
||||
(format!("the lifetime {} as defined on", name), sp)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user