@@ -4,7 +4,7 @@ use rustc_ast::ptr::P;
4
4
use rustc_ast:: tokenstream:: TokenStream ;
5
5
use rustc_ast:: { AsmMacro , token} ;
6
6
use rustc_data_structures:: fx:: { FxHashMap , FxIndexMap } ;
7
- use rustc_errors:: { DiagCtxtHandle , PResult } ;
7
+ use rustc_errors:: PResult ;
8
8
use rustc_expand:: base:: * ;
9
9
use rustc_index:: bit_set:: GrowableBitSet ;
10
10
use rustc_parse:: exp;
@@ -33,7 +33,7 @@ pub enum RawAsmArgKind {
33
33
}
34
34
35
35
/// Validated assembly arguments, ready for macro expansion.
36
- pub struct AsmArgs {
36
+ struct AsmArgs {
37
37
pub templates : Vec < P < ast:: Expr > > ,
38
38
pub operands : Vec < ( ast:: InlineAsmOperand , Span ) > ,
39
39
named_args : FxIndexMap < Symbol , usize > ,
@@ -261,26 +261,17 @@ fn parse_args<'a>(
261
261
tts : TokenStream ,
262
262
asm_macro : AsmMacro ,
263
263
) -> PResult < ' a , AsmArgs > {
264
- let mut p = ecx. new_parser_from_tts ( tts) ;
265
- parse_asm_args ( & mut p , sp , asm_macro )
264
+ let raw_args = parse_raw_asm_args ( & mut ecx. new_parser_from_tts ( tts) , sp , asm_macro ) ? ;
265
+ validate_raw_asm_args ( ecx , asm_macro , raw_args )
266
266
}
267
267
268
- // public for use in rustfmt
269
- // FIXME: use `RawAsmArg` in the formatting code instead.
270
- pub fn parse_asm_args < ' a > (
271
- p : & mut Parser < ' a > ,
272
- sp : Span ,
273
- asm_macro : AsmMacro ,
274
- ) -> PResult < ' a , AsmArgs > {
275
- let raw_args = parse_raw_asm_args ( p, sp, asm_macro) ?;
276
- validate_raw_asm_args ( p. dcx ( ) , asm_macro, raw_args)
277
- }
278
-
279
- pub fn validate_raw_asm_args < ' a > (
280
- dcx : DiagCtxtHandle < ' a > ,
268
+ fn validate_raw_asm_args < ' a > (
269
+ ecx : & ExtCtxt < ' a > ,
281
270
asm_macro : AsmMacro ,
282
271
raw_args : Vec < RawAsmArg > ,
283
272
) -> PResult < ' a , AsmArgs > {
273
+ let dcx = ecx. dcx ( ) ;
274
+
284
275
let mut args = AsmArgs {
285
276
templates : vec ! [ ] ,
286
277
operands : vec ! [ ] ,
0 commit comments