@@ -35,108 +35,108 @@ data CommentAnnotation
35
35
-- Each may be annotated with any comment occuring between the prior token and this one
36
36
data Token
37
37
-- Comment
38
- = CommentToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] } -- ^ Single line comment.
39
- | WsToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] } -- ^ White space, for preservation.
38
+ = CommentToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] } -- ^ Single line comment.
39
+ | WsToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] } -- ^ White space, for preservation.
40
40
41
41
-- Identifiers
42
- | IdentifierToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] } -- ^ Identifier.
42
+ | IdentifierToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] } -- ^ Identifier.
43
43
44
44
-- Javascript Literals
45
45
46
- | DecimalToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
46
+ | DecimalToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
47
47
-- ^ Literal: Decimal
48
- | HexIntegerToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
48
+ | HexIntegerToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
49
49
-- ^ Literal: Hexadecimal Integer
50
- | OctalToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
50
+ | OctalToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
51
51
-- ^ Literal: Octal Integer
52
- | StringToken { token_span :: ! TokenPosn , token_literal :: ! String , token_delimiter :: ! Char , token_comment :: ! [CommentAnnotation ] }
52
+ | StringToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , token_delimiter :: ! Char , tokenComment :: ! [CommentAnnotation ] }
53
53
-- ^ Literal: string, delimited by either single or double quotes
54
- | RegExToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
54
+ | RegExToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
55
55
-- ^ Literal: Regular Expression
56
56
57
57
-- Keywords
58
- | BreakToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
59
- | CaseToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
60
- | CatchToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
61
- | ConstToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
62
- | ContinueToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
63
- | DebuggerToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
64
- | DefaultToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
65
- | DeleteToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
66
- | DoToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
67
- | ElseToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
68
- | EnumToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
69
- | FalseToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
70
- | FinallyToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
71
- | ForToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
72
- | FunctionToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
73
- | IfToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
74
- | InToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
75
- | InstanceofToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
76
- | NewToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
77
- | NullToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
78
- | ReturnToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
79
- | SwitchToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
80
- | ThisToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
81
- | ThrowToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
82
- | TrueToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
83
- | TryToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
84
- | TypeofToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
85
- | VarToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
86
- | VoidToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
87
- | WhileToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
88
- | WithToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
58
+ | BreakToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
59
+ | CaseToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
60
+ | CatchToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
61
+ | ConstToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
62
+ | ContinueToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
63
+ | DebuggerToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
64
+ | DefaultToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
65
+ | DeleteToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
66
+ | DoToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
67
+ | ElseToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
68
+ | EnumToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
69
+ | FalseToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
70
+ | FinallyToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
71
+ | ForToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
72
+ | FunctionToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
73
+ | IfToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
74
+ | InToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
75
+ | InstanceofToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
76
+ | NewToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
77
+ | NullToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
78
+ | ReturnToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
79
+ | SwitchToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
80
+ | ThisToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
81
+ | ThrowToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
82
+ | TrueToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
83
+ | TryToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
84
+ | TypeofToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
85
+ | VarToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
86
+ | VoidToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
87
+ | WhileToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
88
+ | WithToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
89
89
-- Future reserved words
90
- | FutureToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
90
+ | FutureToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
91
91
-- Needed, not sure what they are though.
92
- | GetToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
93
- | SetToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
92
+ | GetToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
93
+ | SetToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
94
94
95
95
-- Delimiters
96
96
-- Operators
97
- | SemiColonToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
98
- | CommaToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
99
- | HookToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
100
- | ColonToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
101
- | OrToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
102
- | AndToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
103
- | BitwiseOrToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
104
- | BitwiseXorToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
105
- | BitwiseAndToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
106
- | StrictEqToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
107
- | EqToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
108
- | AssignToken { token_span :: ! TokenPosn , token_literal :: ! String , token_comment :: ! [CommentAnnotation ] }
109
- | SimpleAssignToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
110
- | StrictNeToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
111
- | NeToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
112
- | LshToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
113
- | LeToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
114
- | LtToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
115
- | UrshToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
116
- | RshToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
117
- | GeToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
118
- | GtToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
119
- | IncrementToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
120
- | DecrementToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
121
- | PlusToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
122
- | MinusToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
123
- | MulToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
124
- | DivToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
125
- | ModToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
126
- | NotToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
127
- | BitwiseNotToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
128
- | DotToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
129
- | LeftBracketToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
130
- | RightBracketToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
131
- | LeftCurlyToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
132
- | RightCurlyToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
133
- | LeftParenToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
134
- | RightParenToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
135
- | CondcommentEndToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] }
97
+ | SemiColonToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
98
+ | CommaToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
99
+ | HookToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
100
+ | ColonToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
101
+ | OrToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
102
+ | AndToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
103
+ | BitwiseOrToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
104
+ | BitwiseXorToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
105
+ | BitwiseAndToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
106
+ | StrictEqToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
107
+ | EqToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
108
+ | AssignToken { tokenSpan :: ! TokenPosn , token_literal :: ! String , tokenComment :: ! [CommentAnnotation ] }
109
+ | SimpleAssignToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
110
+ | StrictNeToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
111
+ | NeToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
112
+ | LshToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
113
+ | LeToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
114
+ | LtToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
115
+ | UrshToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
116
+ | RshToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
117
+ | GeToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
118
+ | GtToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
119
+ | IncrementToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
120
+ | DecrementToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
121
+ | PlusToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
122
+ | MinusToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
123
+ | MulToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
124
+ | DivToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
125
+ | ModToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
126
+ | NotToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
127
+ | BitwiseNotToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
128
+ | DotToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
129
+ | LeftBracketToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
130
+ | RightBracketToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
131
+ | LeftCurlyToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
132
+ | RightCurlyToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
133
+ | LeftParenToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
134
+ | RightParenToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
135
+ | CondcommentEndToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] }
136
136
137
137
-- Special cases
138
- | TailToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] } -- ^ Stuff between last JS and EOF
139
- | EOFToken { token_span :: ! TokenPosn , token_comment :: ! [CommentAnnotation ] } -- ^ End of file
138
+ | TailToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] } -- ^ Stuff between last JS and EOF
139
+ | EOFToken { tokenSpan :: ! TokenPosn , tokenComment :: ! [CommentAnnotation ] } -- ^ End of file
140
140
deriving (Eq , Show , Typeable )
141
141
142
142
0 commit comments