|
5 | 5 |
|
6 | 6 | extern crate rustc_driver; |
7 | 7 | extern crate rustc_interface; |
8 | | -#[macro_use] |
9 | | -extern crate rustc_smir; |
10 | | -extern crate stable_mir; |
| 8 | +extern crate rustc_middle; |
11 | 9 |
|
12 | 10 | use std::collections::HashSet; |
13 | 11 | use std::io::stdout; |
14 | | -use rustc_smir::{run, rustc_internal}; |
15 | | -use stable_mir::{CompilerError, CrateDef}; |
| 12 | +use rustc_public::run; |
| 13 | +use rustc_public::{CompilerError, CrateDef}; |
16 | 14 | use std::ops::ControlFlow; |
17 | 15 | use std::process::ExitCode; |
18 | | -use stable_mir::mir::{LocalDecl, MirVisitor, Terminator, TerminatorKind}; |
19 | | -use stable_mir::mir::mono::Instance; |
20 | | -use stable_mir::mir::visit::Location; |
21 | | -use stable_mir::ty::{RigidTy, Ty, TyKind}; |
| 16 | +use rustc_public::mir::{LocalDecl, MirVisitor, Terminator, TerminatorKind}; |
| 17 | +use rustc_public::mir::mono::Instance; |
| 18 | +use rustc_public::mir::visit::Location; |
| 19 | +use rustc_public::ty::{RigidTy, Ty, TyKind}; |
22 | 20 |
|
23 | 21 |
|
24 | 22 | /// This is a wrapper that can be used to replace rustc. |
25 | 23 | fn main() -> ExitCode { |
26 | | - let rustc_args = std::env::args().into_iter().collect(); |
27 | | - let result = run!(rustc_args, start_demo); |
| 24 | + let rustc_args: Vec<String> = std::env::args().collect(); |
| 25 | + let result = run!(&rustc_args, start_demo); |
28 | 26 | match result { |
29 | 27 | Ok(_) | Err(CompilerError::Skipped | CompilerError::Interrupted(_)) => ExitCode::SUCCESS, |
30 | 28 | _ => ExitCode::FAILURE, |
31 | 29 | } |
32 | 30 | } |
33 | 31 |
|
34 | 32 | fn start_demo() -> ControlFlow<()> { |
35 | | - let crate_name = stable_mir::local_crate().name; |
| 33 | + let crate_name = rustc_public::local_crate().name; |
36 | 34 | eprintln!("--- Analyzing crate: {crate_name}"); |
37 | 35 |
|
38 | | - let crate_items = stable_mir::all_local_items(); |
| 36 | + let crate_items = rustc_public::all_local_items(); |
39 | 37 | for item in crate_items { |
40 | 38 | eprintln!(" - {} @{:?}", item.name(), item.span()) |
41 | 39 | } |
42 | 40 |
|
43 | | - let entry_fn = stable_mir::entry_fn().unwrap(); |
| 41 | + let entry_fn = rustc_public::entry_fn().unwrap(); |
44 | 42 | let entry_instance = Instance::try_from(entry_fn).unwrap(); |
45 | 43 | analyze_instance(entry_instance); |
46 | 44 | ControlFlow::Break(()) |
|
0 commit comments