@@ -33,7 +33,6 @@ export type IndexVec<I, T> = Array<T>;
3333#[ derive( Debug , Default ) ]
3434#[ cfg_attr( feature = "serialize" , derive( Serialize , Tsify ) , serde( rename_all = "camelCase" ) ) ]
3535pub struct SymbolTable {
36- pub spans : IndexVec < SymbolId , Span > ,
3736 pub names : IndexVec < SymbolId , CompactStr > ,
3837 pub flags : IndexVec < SymbolId , SymbolFlags > ,
3938 pub scope_ids : IndexVec < SymbolId , ScopeId > ,
@@ -49,25 +48,19 @@ pub struct SymbolTable {
4948
5049impl SymbolTable {
5150 pub fn len ( & self ) -> usize {
52- self . spans . len ( )
51+ self . names . len ( )
5352 }
5453
5554 pub fn is_empty ( & self ) -> bool {
5655 self . len ( ) == 0
5756 }
5857
5958 pub fn iter ( & self ) -> impl Iterator < Item = SymbolId > + ' _ {
60- self . spans . iter_enumerated ( ) . map ( |( symbol_id, _) | symbol_id)
59+ self . flags . iter_enumerated ( ) . map ( |( symbol_id, _) | symbol_id)
6160 }
6261
6362 pub fn iter_rev ( & self ) -> impl Iterator < Item = SymbolId > + ' _ {
64- self . spans . iter_enumerated ( ) . rev ( ) . map ( |( symbol_id, _) | symbol_id)
65- }
66-
67- pub fn get_symbol_id_from_span ( & self , span : Span ) -> Option < SymbolId > {
68- self . spans
69- . iter_enumerated ( )
70- . find_map ( |( symbol, & inner_span) | if inner_span == span { Some ( symbol) } else { None } )
63+ self . flags . iter_enumerated ( ) . rev ( ) . map ( |( symbol_id, _) | symbol_id)
7164 }
7265
7366 pub fn get_symbol_id_from_name ( & self , name : & str ) -> Option < SymbolId > {
@@ -80,10 +73,6 @@ impl SymbolTable {
8073 } )
8174 }
8275
83- pub fn get_span ( & self , symbol_id : SymbolId ) -> Span {
84- self . spans [ symbol_id]
85- }
86-
8776 pub fn get_name ( & self , symbol_id : SymbolId ) -> & str {
8877 & self . names [ symbol_id]
8978 }
@@ -113,10 +102,6 @@ impl SymbolTable {
113102 self . scope_ids [ symbol_id]
114103 }
115104
116- pub fn get_scope_id_from_span ( & self , span : Span ) -> Option < ScopeId > {
117- self . get_symbol_id_from_span ( span) . map ( |symbol_id| self . get_scope_id ( symbol_id) )
118- }
119-
120105 pub fn get_scope_id_from_name ( & self , name : & str ) -> Option < ScopeId > {
121106 self . get_symbol_id_from_name ( name) . map ( |symbol_id| self . get_scope_id ( symbol_id) )
122107 }
@@ -127,13 +112,11 @@ impl SymbolTable {
127112
128113 pub fn create_symbol (
129114 & mut self ,
130- span : Span ,
131115 name : CompactStr ,
132116 flag : SymbolFlags ,
133117 scope_id : ScopeId ,
134118 node_id : AstNodeId ,
135119 ) -> SymbolId {
136- self . spans . push ( span) ;
137120 self . names . push ( name) ;
138121 self . flags . push ( flag) ;
139122 self . scope_ids . push ( scope_id) ;
@@ -210,7 +193,6 @@ impl SymbolTable {
210193 }
211194
212195 pub fn reserve ( & mut self , additional_symbols : usize , additional_references : usize ) {
213- self . spans . reserve ( additional_symbols) ;
214196 self . names . reserve ( additional_symbols) ;
215197 self . flags . reserve ( additional_symbols) ;
216198 self . scope_ids . reserve ( additional_symbols) ;
0 commit comments