@@ -7,14 +7,11 @@ use std::{
7
7
} ;
8
8
9
9
use crate :: {
10
- green:: GreenElementRef , Children , Direction , GreenNode , GreenToken , NodeOrToken , SmolStr ,
11
- SyntaxText , TextRange , TextUnit , TokenAtOffset , WalkEvent ,
10
+ green:: { GreenElementRef , SyntaxKind } ,
11
+ Children , Direction , GreenNode , GreenToken , NodeOrToken , SmolStr , SyntaxText , TextRange ,
12
+ TextUnit , TokenAtOffset , WalkEvent ,
12
13
} ;
13
14
14
- /// SyntaxKind is a type tag for each token or node.
15
- #[ derive( Debug , Clone , Copy , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
16
- pub struct SyntaxKind ( pub u16 ) ;
17
-
18
15
#[ derive( Debug , Clone ) ]
19
16
pub struct SyntaxNode ( Rc < NodeData > ) ;
20
17
@@ -24,6 +21,7 @@ impl Drop for SyntaxNode {
24
21
}
25
22
}
26
23
24
+ // Identity semantics for hash & eq
27
25
impl PartialEq for SyntaxNode {
28
26
fn eq ( & self , other : & SyntaxNode ) -> bool {
29
27
ptr:: eq ( self . green ( ) , other. green ( ) )
@@ -64,7 +62,7 @@ impl fmt::Display for SyntaxToken {
64
62
}
65
63
}
66
64
67
- pub ( crate ) type SyntaxElement = NodeOrToken < SyntaxNode , SyntaxToken > ;
65
+ pub type SyntaxElement = NodeOrToken < SyntaxNode , SyntaxToken > ;
68
66
69
67
impl From < SyntaxNode > for SyntaxElement {
70
68
fn from ( node : SyntaxNode ) -> SyntaxElement {
0 commit comments