@@ -103,6 +103,7 @@ pub enum Node {
103
103
NodeStmt ( @Stmt ) ,
104
104
NodeArg ( @Pat ) ,
105
105
NodeLocal ( @Pat ) ,
106
+ NodePat ( @Pat ) ,
106
107
NodeBlock ( P < Block > ) ,
107
108
108
109
/// NodeStructCtor represents a tuple struct.
@@ -127,6 +128,7 @@ enum MapEntry {
127
128
EntryStmt ( NodeId , @Stmt ) ,
128
129
EntryArg ( NodeId , @Pat ) ,
129
130
EntryLocal ( NodeId , @Pat ) ,
131
+ EntryPat ( NodeId , @Pat ) ,
130
132
EntryBlock ( NodeId , P < Block > ) ,
131
133
EntryStructCtor ( NodeId , @StructDef ) ,
132
134
EntryLifetime ( NodeId , @Lifetime ) ,
@@ -154,6 +156,7 @@ impl MapEntry {
154
156
EntryStmt ( id, _) => id,
155
157
EntryArg ( id, _) => id,
156
158
EntryLocal ( id, _) => id,
159
+ EntryPat ( id, _) => id,
157
160
EntryBlock ( id, _) => id,
158
161
EntryStructCtor ( id, _) => id,
159
162
EntryLifetime ( id, _) => id,
@@ -172,6 +175,7 @@ impl MapEntry {
172
175
EntryStmt ( _, p) => NodeStmt ( p) ,
173
176
EntryArg ( _, p) => NodeArg ( p) ,
174
177
EntryLocal ( _, p) => NodeLocal ( p) ,
178
+ EntryPat ( _, p) => NodePat ( p) ,
175
179
EntryBlock ( _, p) => NodeBlock ( p) ,
176
180
EntryStructCtor ( _, p) => NodeStructCtor ( p) ,
177
181
EntryLifetime ( _, p) => NodeLifetime ( p) ,
@@ -399,6 +403,7 @@ impl Map {
399
403
Some ( NodeExpr ( expr) ) => expr. span ,
400
404
Some ( NodeStmt ( stmt) ) => stmt. span ,
401
405
Some ( NodeArg ( pat) ) | Some ( NodeLocal ( pat) ) => pat. span ,
406
+ Some ( NodePat ( pat) ) => pat. span ,
402
407
Some ( NodeBlock ( block) ) => block. span ,
403
408
Some ( NodeStructCtor ( _) ) => self . expect_item ( self . get_parent ( id) ) . span ,
404
409
_ => fail ! ( "node_span: could not find span for id {}" , id) ,
@@ -513,7 +518,9 @@ impl<'a, F: FoldOps> Folder for Ctx<'a, F> {
513
518
// Note: this is at least *potentially* a pattern...
514
519
self . insert ( pat. id , EntryLocal ( self . parent , pat) ) ;
515
520
}
516
- _ => { }
521
+ _ => {
522
+ self . insert ( pat. id , EntryPat ( self . parent , pat) ) ;
523
+ }
517
524
}
518
525
519
526
pat
@@ -704,6 +711,9 @@ fn node_id_to_str(map: &Map, id: NodeId) -> StrBuf {
704
711
( format ! ( "local {} (id={})" ,
705
712
pprust:: pat_to_str( pat) , id) ) . to_strbuf ( )
706
713
}
714
+ Some ( NodePat ( pat) ) => {
715
+ ( format ! ( "pat {} (id={})" , pprust:: pat_to_str( pat) , id) ) . to_strbuf ( )
716
+ }
707
717
Some ( NodeBlock ( block) ) => {
708
718
( format ! ( "block {} (id={})" ,
709
719
pprust:: block_to_str( block) , id) ) . to_strbuf ( )
0 commit comments