diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2021-06-01 10:04:13 +0200 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2021-06-08 19:24:17 +0200 |
| commit | 9d9ccec3fc416965dabd1851369a10315754a922 (patch) | |
| tree | f594ed154bd8b4da0606bcf6fa7b3c90da137573 | |
| parent | d376f032e65cc02e9a082ab1e919f3798af4b9dd (diff) | |
| download | rust-9d9ccec3fc416965dabd1851369a10315754a922.tar.gz rust-9d9ccec3fc416965dabd1851369a10315754a922.zip | |
Inline two more methods
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 79b318a4d34..0347b2ccda9 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -102,15 +102,15 @@ pub enum Action { } #[derive(PartialEq)] -pub struct Marker<T>(PhantomData<T>); +struct Marker<T>(PhantomData<T>); impl<T> Marker<T> { - pub unsafe fn new() -> Self { + unsafe fn new() -> Self { Marker(PhantomData) } } -pub enum YieldType<I, A> { +enum YieldType<I, A> { Initial(I), Accessor(Marker<A>), } @@ -174,16 +174,15 @@ impl BoxedResolver { r.unwrap() } - pub fn complete(mut self) -> ResolverOutputs { - // Tell the generator we want it to complete, consuming it and yielding a result - let result = self.generator.as_mut().resume(Action::Complete); - if let GeneratorState::Complete(r) = result { r } else { panic!() } - } - - fn initial_yield( - value: Result<ast::Crate>, - ) -> YieldType<Result<ast::Crate>, fn(&mut Resolver<'_>)> { - YieldType::Initial(value) + pub fn to_resolver_outputs(resolver: Rc<RefCell<BoxedResolver>>) -> ResolverOutputs { + match Rc::try_unwrap(resolver) { + Ok(resolver) => { + // Tell the generator we want it to complete, consuming it and yielding a result + let result = resolver.into_inner().generator.as_mut().resume(Action::Complete); + if let GeneratorState::Complete(r) = result { r } else { panic!() } + } + Err(resolver) => resolver.borrow_mut().access(|resolver| resolver.clone_outputs()), + } } } @@ -221,11 +220,11 @@ pub fn configure_and_expand( ); let mut resolver = match res { Err(v) => { - yield BoxedResolver::initial_yield(Err(v)); + yield YieldType::Initial(Err(v)); panic!() } Ok((krate, resolver)) => { - action = yield BoxedResolver::initial_yield(Ok(krate)); + action = yield YieldType::Initial(Ok(krate)); resolver } }; @@ -253,15 +252,6 @@ pub fn configure_and_expand( result.map(|k| (k, resolver)) } -impl BoxedResolver { - pub fn to_resolver_outputs(resolver: Rc<RefCell<BoxedResolver>>) -> ResolverOutputs { - match Rc::try_unwrap(resolver) { - Ok(resolver) => resolver.into_inner().complete(), - Err(resolver) => resolver.borrow_mut().access(|resolver| resolver.clone_outputs()), - } - } -} - pub fn register_plugins<'a>( sess: &'a Session, metadata_loader: &'a dyn MetadataLoader, |
