rustc_interface: Add a new query pre_configure
It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early. Crate-level cfg attributes are then expanded normally during the main expansion pass, like attributes on any other nodes.
This commit is contained in:
parent
f26da39e04
commit
aca1b1e0b3
12 changed files with 108 additions and 84 deletions
|
@ -1002,6 +1002,7 @@ pub struct ExpansionData {
|
|||
pub struct ExtCtxt<'a> {
|
||||
pub sess: &'a Session,
|
||||
pub ecfg: expand::ExpansionConfig<'a>,
|
||||
pub num_standard_library_imports: usize,
|
||||
pub reduced_recursion_limit: Option<Limit>,
|
||||
pub root_path: PathBuf,
|
||||
pub resolver: &'a mut dyn ResolverExpand,
|
||||
|
@ -1030,6 +1031,7 @@ impl<'a> ExtCtxt<'a> {
|
|||
ExtCtxt {
|
||||
sess,
|
||||
ecfg,
|
||||
num_standard_library_imports: 0,
|
||||
reduced_recursion_limit: None,
|
||||
resolver,
|
||||
lint_store,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue