herb 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +20 -2
- data/ext/herb/extension.c +46 -14
- data/ext/herb/extension.h +9 -0
- data/ext/herb/extension_helpers.c +9 -27
- data/ext/herb/nodes.c +104 -1
- data/herb.gemspec +2 -1
- data/lib/herb/ast/node.rb +40 -4
- data/lib/herb/ast/nodes.rb +892 -140
- data/lib/herb/ast.rb +1 -0
- data/lib/herb/cli.rb +4 -1
- data/lib/herb/errors.rb +84 -33
- data/lib/herb/lex_result.rb +4 -1
- data/lib/herb/libherb/array.rb +3 -0
- data/lib/herb/libherb/ast_node.rb +3 -0
- data/lib/herb/libherb/buffer.rb +3 -0
- data/lib/herb/libherb/extract_result.rb +3 -0
- data/lib/herb/libherb/lex_result.rb +3 -0
- data/lib/herb/libherb/libherb.rb +3 -0
- data/lib/herb/libherb/parse_result.rb +3 -0
- data/lib/herb/libherb/token.rb +3 -0
- data/lib/herb/libherb.rb +3 -0
- data/lib/herb/location.rb +15 -6
- data/lib/herb/parse_result.rb +10 -1
- data/lib/herb/position.rb +17 -8
- data/lib/herb/project.rb +13 -4
- data/lib/herb/range.rb +18 -8
- data/lib/herb/result.rb +7 -1
- data/lib/herb/token.rb +14 -4
- data/lib/herb/token_list.rb +10 -1
- data/lib/herb/version.rb +2 -1
- data/lib/herb/visitor.rb +175 -0
- data/lib/herb/warnings.rb +43 -0
- data/lib/herb.rb +6 -1
- data/sig/herb/ast/node.rbs +48 -0
- data/sig/herb/ast/nodes.rbs +941 -0
- data/sig/herb/ast.rbs +6 -0
- data/sig/herb/errors.rbs +193 -0
- data/sig/herb/lex_result.rbs +16 -0
- data/sig/herb/location.rbs +30 -0
- data/sig/herb/parse_result.rbs +22 -0
- data/sig/herb/position.rbs +30 -0
- data/sig/herb/range.rbs +33 -0
- data/sig/herb/result.rbs +20 -0
- data/sig/herb/token.rbs +31 -0
- data/sig/herb/token_list.rbs +13 -0
- data/sig/herb/version.rbs +5 -0
- data/sig/herb/visitor.rbs +104 -0
- data/sig/herb/warnings.rbs +28 -0
- data/sig/herb.rbs +4 -0
- data/sig/serialized.rbs +9 -0
- data/sig/serialized_ast_errors.rbs +53 -0
- data/sig/serialized_ast_nodes.rbs +221 -0
- data/src/analyze.c +138 -43
- data/src/analyze_helpers.c +44 -1
- data/src/analyzed_ruby.c +10 -1
- data/src/ast_nodes.c +103 -1
- data/src/ast_pretty_print.c +60 -0
- data/src/buffer.c +60 -27
- data/src/extract.c +57 -20
- data/src/include/analyze.h +3 -0
- data/src/include/analyze_helpers.h +6 -0
- data/src/include/analyzed_ruby.h +3 -0
- data/src/include/ast_nodes.h +32 -0
- data/src/include/buffer.h +5 -2
- data/src/include/lexer_peek_helpers.h +2 -2
- data/src/include/macros.h +2 -2
- data/src/include/version.h +1 -1
- data/src/lexer.c +1 -1
- data/src/parser.c +17 -7
- data/src/token.c +1 -1
- data/src/util.c +3 -1
- data/src/visitor.c +36 -0
- metadata +23 -2
data/sig/herb/ast.rbs
ADDED
data/sig/herb/errors.rbs
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
# Generated from lib/herb/errors.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
module Errors
|
5
|
+
class Error
|
6
|
+
attr_reader type: String
|
7
|
+
|
8
|
+
attr_reader location: Location
|
9
|
+
|
10
|
+
attr_reader message: String
|
11
|
+
|
12
|
+
# : (String, Location, String) -> void
|
13
|
+
def initialize: (String, Location, String) -> void
|
14
|
+
|
15
|
+
# : () -> serialized_error
|
16
|
+
def to_hash: () -> serialized_error
|
17
|
+
|
18
|
+
# : () -> String
|
19
|
+
def class_name: () -> String
|
20
|
+
|
21
|
+
# : () -> String
|
22
|
+
def error_name: () -> String
|
23
|
+
|
24
|
+
# : (?untyped) -> String
|
25
|
+
def to_json: (?untyped) -> String
|
26
|
+
|
27
|
+
# : (?Integer) -> String
|
28
|
+
def tree_inspect: (?Integer) -> String
|
29
|
+
end
|
30
|
+
|
31
|
+
class UnexpectedError < Error
|
32
|
+
attr_reader description: String
|
33
|
+
|
34
|
+
attr_reader expected: String
|
35
|
+
|
36
|
+
attr_reader found: String
|
37
|
+
|
38
|
+
# : (String, Location, String, String, String, String) -> void
|
39
|
+
def initialize: (String, Location, String, String, String, String) -> void
|
40
|
+
|
41
|
+
# : () -> String
|
42
|
+
def inspect: () -> String
|
43
|
+
|
44
|
+
# : () -> serialized_unexpected_error
|
45
|
+
def to_hash: () -> serialized_unexpected_error
|
46
|
+
|
47
|
+
# : (?Integer) -> String
|
48
|
+
def tree_inspect: (?Integer) -> String
|
49
|
+
end
|
50
|
+
|
51
|
+
class UnexpectedTokenError < Error
|
52
|
+
attr_reader expected_type: String
|
53
|
+
|
54
|
+
attr_reader found: Herb::Token
|
55
|
+
|
56
|
+
# : (String, Location, String, String, Herb::Token) -> void
|
57
|
+
def initialize: (String, Location, String, String, Herb::Token) -> void
|
58
|
+
|
59
|
+
# : () -> String
|
60
|
+
def inspect: () -> String
|
61
|
+
|
62
|
+
# : () -> serialized_unexpected_token_error
|
63
|
+
def to_hash: () -> serialized_unexpected_token_error
|
64
|
+
|
65
|
+
# : (?Integer) -> String
|
66
|
+
def tree_inspect: (?Integer) -> String
|
67
|
+
end
|
68
|
+
|
69
|
+
class MissingOpeningTagError < Error
|
70
|
+
attr_reader closing_tag: Herb::Token
|
71
|
+
|
72
|
+
# : (String, Location, String, Herb::Token) -> void
|
73
|
+
def initialize: (String, Location, String, Herb::Token) -> void
|
74
|
+
|
75
|
+
# : () -> String
|
76
|
+
def inspect: () -> String
|
77
|
+
|
78
|
+
# : () -> serialized_missing_opening_tag_error
|
79
|
+
def to_hash: () -> serialized_missing_opening_tag_error
|
80
|
+
|
81
|
+
# : (?Integer) -> String
|
82
|
+
def tree_inspect: (?Integer) -> String
|
83
|
+
end
|
84
|
+
|
85
|
+
class MissingClosingTagError < Error
|
86
|
+
attr_reader opening_tag: Herb::Token
|
87
|
+
|
88
|
+
# : (String, Location, String, Herb::Token) -> void
|
89
|
+
def initialize: (String, Location, String, Herb::Token) -> void
|
90
|
+
|
91
|
+
# : () -> String
|
92
|
+
def inspect: () -> String
|
93
|
+
|
94
|
+
# : () -> serialized_missing_closing_tag_error
|
95
|
+
def to_hash: () -> serialized_missing_closing_tag_error
|
96
|
+
|
97
|
+
# : (?Integer) -> String
|
98
|
+
def tree_inspect: (?Integer) -> String
|
99
|
+
end
|
100
|
+
|
101
|
+
class TagNamesMismatchError < Error
|
102
|
+
attr_reader opening_tag: Herb::Token
|
103
|
+
|
104
|
+
attr_reader closing_tag: Herb::Token
|
105
|
+
|
106
|
+
# : (String, Location, String, Herb::Token, Herb::Token) -> void
|
107
|
+
def initialize: (String, Location, String, Herb::Token, Herb::Token) -> void
|
108
|
+
|
109
|
+
# : () -> String
|
110
|
+
def inspect: () -> String
|
111
|
+
|
112
|
+
# : () -> serialized_tag_names_mismatch_error
|
113
|
+
def to_hash: () -> serialized_tag_names_mismatch_error
|
114
|
+
|
115
|
+
# : (?Integer) -> String
|
116
|
+
def tree_inspect: (?Integer) -> String
|
117
|
+
end
|
118
|
+
|
119
|
+
class QuotesMismatchError < Error
|
120
|
+
attr_reader opening_quote: Herb::Token
|
121
|
+
|
122
|
+
attr_reader closing_quote: Herb::Token
|
123
|
+
|
124
|
+
# : (String, Location, String, Herb::Token, Herb::Token) -> void
|
125
|
+
def initialize: (String, Location, String, Herb::Token, Herb::Token) -> void
|
126
|
+
|
127
|
+
# : () -> String
|
128
|
+
def inspect: () -> String
|
129
|
+
|
130
|
+
# : () -> serialized_quotes_mismatch_error
|
131
|
+
def to_hash: () -> serialized_quotes_mismatch_error
|
132
|
+
|
133
|
+
# : (?Integer) -> String
|
134
|
+
def tree_inspect: (?Integer) -> String
|
135
|
+
end
|
136
|
+
|
137
|
+
class VoidElementClosingTagError < Error
|
138
|
+
attr_reader tag_name: Herb::Token
|
139
|
+
|
140
|
+
attr_reader expected: String
|
141
|
+
|
142
|
+
attr_reader found: String
|
143
|
+
|
144
|
+
# : (String, Location, String, Herb::Token, String, String) -> void
|
145
|
+
def initialize: (String, Location, String, Herb::Token, String, String) -> void
|
146
|
+
|
147
|
+
# : () -> String
|
148
|
+
def inspect: () -> String
|
149
|
+
|
150
|
+
# : () -> serialized_void_element_closing_tag_error
|
151
|
+
def to_hash: () -> serialized_void_element_closing_tag_error
|
152
|
+
|
153
|
+
# : (?Integer) -> String
|
154
|
+
def tree_inspect: (?Integer) -> String
|
155
|
+
end
|
156
|
+
|
157
|
+
class UnclosedElementError < Error
|
158
|
+
attr_reader opening_tag: Herb::Token
|
159
|
+
|
160
|
+
# : (String, Location, String, Herb::Token) -> void
|
161
|
+
def initialize: (String, Location, String, Herb::Token) -> void
|
162
|
+
|
163
|
+
# : () -> String
|
164
|
+
def inspect: () -> String
|
165
|
+
|
166
|
+
# : () -> serialized_unclosed_element_error
|
167
|
+
def to_hash: () -> serialized_unclosed_element_error
|
168
|
+
|
169
|
+
# : (?Integer) -> String
|
170
|
+
def tree_inspect: (?Integer) -> String
|
171
|
+
end
|
172
|
+
|
173
|
+
class RubyParseError < Error
|
174
|
+
attr_reader error_message: String
|
175
|
+
|
176
|
+
attr_reader diagnostic_id: String
|
177
|
+
|
178
|
+
attr_reader level: String
|
179
|
+
|
180
|
+
# : (String, Location, String, String, String, String) -> void
|
181
|
+
def initialize: (String, Location, String, String, String, String) -> void
|
182
|
+
|
183
|
+
# : () -> String
|
184
|
+
def inspect: () -> String
|
185
|
+
|
186
|
+
# : () -> serialized_ruby_parse_error
|
187
|
+
def to_hash: () -> serialized_ruby_parse_error
|
188
|
+
|
189
|
+
# : (?Integer) -> String
|
190
|
+
def tree_inspect: (?Integer) -> String
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/herb/lex_result.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class LexResult < Result
|
5
|
+
attr_reader value: TokenList
|
6
|
+
|
7
|
+
# : (Array[Herb::Token], String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
8
|
+
def initialize: (Array[Herb::Token], String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
9
|
+
|
10
|
+
# : () -> bool
|
11
|
+
def success?: () -> bool
|
12
|
+
|
13
|
+
# : () -> bool
|
14
|
+
def failed?: () -> bool
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Generated from lib/herb/location.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Location
|
5
|
+
attr_reader start: Position
|
6
|
+
|
7
|
+
attr_reader end: Position
|
8
|
+
|
9
|
+
# : (Position, Position) -> void
|
10
|
+
def initialize: (Position, Position) -> void
|
11
|
+
|
12
|
+
# : (Integer, Integer, Integer, Integer) -> Location
|
13
|
+
def self.from: (Integer, Integer, Integer, Integer) -> Location
|
14
|
+
|
15
|
+
# : (Integer, Integer, Integer, Integer) -> Location
|
16
|
+
def self.[]: (Integer, Integer, Integer, Integer) -> Location
|
17
|
+
|
18
|
+
# : () -> serialized_location
|
19
|
+
def to_hash: () -> serialized_location
|
20
|
+
|
21
|
+
# : (?untyped) -> String
|
22
|
+
def to_json: (?untyped) -> String
|
23
|
+
|
24
|
+
# : () -> String
|
25
|
+
def tree_inspect: () -> String
|
26
|
+
|
27
|
+
# : () -> String
|
28
|
+
def inspect: () -> String
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Generated from lib/herb/parse_result.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class ParseResult < Result
|
5
|
+
attr_reader value: Herb::AST::DocumentNode
|
6
|
+
|
7
|
+
# : (Herb::AST::DocumentNode, String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
8
|
+
def initialize: (Herb::AST::DocumentNode, String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
9
|
+
|
10
|
+
# : () -> bool
|
11
|
+
def failed?: () -> bool
|
12
|
+
|
13
|
+
# : () -> bool
|
14
|
+
def success?: () -> bool
|
15
|
+
|
16
|
+
# : () -> String
|
17
|
+
def pretty_errors: () -> String
|
18
|
+
|
19
|
+
# : (Visitor) -> void
|
20
|
+
def visit: (Visitor) -> void
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Generated from lib/herb/position.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Position
|
5
|
+
attr_reader line: Integer
|
6
|
+
|
7
|
+
attr_reader column: Integer
|
8
|
+
|
9
|
+
# : (Integer, Integer) -> void
|
10
|
+
def initialize: (Integer, Integer) -> void
|
11
|
+
|
12
|
+
# : (Integer, Integer) -> Position
|
13
|
+
def self.[]: (Integer, Integer) -> Position
|
14
|
+
|
15
|
+
# : (Integer, Integer) -> Position
|
16
|
+
def self.from: (Integer, Integer) -> Position
|
17
|
+
|
18
|
+
# : () -> serialized_position
|
19
|
+
def to_hash: () -> serialized_position
|
20
|
+
|
21
|
+
# : (?untyped) -> String
|
22
|
+
def to_json: (?untyped) -> String
|
23
|
+
|
24
|
+
# : () -> String
|
25
|
+
def tree_inspect: () -> String
|
26
|
+
|
27
|
+
# : () -> String
|
28
|
+
def inspect: () -> String
|
29
|
+
end
|
30
|
+
end
|
data/sig/herb/range.rbs
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# Generated from lib/herb/range.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Range
|
5
|
+
attr_reader from: Integer
|
6
|
+
|
7
|
+
attr_reader to: Integer
|
8
|
+
|
9
|
+
# : (Integer, Integer) -> void
|
10
|
+
def initialize: (Integer, Integer) -> void
|
11
|
+
|
12
|
+
# : (Integer, Integer) -> Range
|
13
|
+
def self.[]: (Integer, Integer) -> Range
|
14
|
+
|
15
|
+
# : (Integer, Integer) -> Range
|
16
|
+
def self.from: (Integer, Integer) -> Range
|
17
|
+
|
18
|
+
# : () -> serialized_range
|
19
|
+
def to_a: () -> serialized_range
|
20
|
+
|
21
|
+
# : (?untyped) -> String
|
22
|
+
def to_json: (?untyped) -> String
|
23
|
+
|
24
|
+
# : () -> String
|
25
|
+
def tree_inspect: () -> String
|
26
|
+
|
27
|
+
# : () -> String
|
28
|
+
def inspect: () -> String
|
29
|
+
|
30
|
+
# : () -> String
|
31
|
+
def to_s: () -> String
|
32
|
+
end
|
33
|
+
end
|
data/sig/herb/result.rbs
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Generated from lib/herb/result.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Result
|
5
|
+
attr_reader source: String
|
6
|
+
|
7
|
+
attr_reader warnings: Array[Herb::Warnings::Warning]
|
8
|
+
|
9
|
+
attr_reader errors: Array[Herb::Errors::Error]
|
10
|
+
|
11
|
+
# : (String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
12
|
+
def initialize: (String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
|
13
|
+
|
14
|
+
# : () -> bool
|
15
|
+
def success?: () -> bool
|
16
|
+
|
17
|
+
# : () -> bool
|
18
|
+
def failed?: () -> bool
|
19
|
+
end
|
20
|
+
end
|
data/sig/herb/token.rbs
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Generated from lib/herb/token.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Token
|
5
|
+
attr_reader value: String
|
6
|
+
|
7
|
+
attr_reader range: Range
|
8
|
+
|
9
|
+
attr_reader location: Location
|
10
|
+
|
11
|
+
attr_reader type: String
|
12
|
+
|
13
|
+
# : (String, Range, Location, String) -> void
|
14
|
+
def initialize: (String, Range, Location, String) -> void
|
15
|
+
|
16
|
+
# : () -> serialized_token
|
17
|
+
def to_hash: () -> serialized_token
|
18
|
+
|
19
|
+
# : (?untyped) -> String
|
20
|
+
def to_json: (?untyped) -> String
|
21
|
+
|
22
|
+
# : () -> String
|
23
|
+
def tree_inspect: () -> String
|
24
|
+
|
25
|
+
# : () -> String
|
26
|
+
def value_inspect: () -> String
|
27
|
+
|
28
|
+
# : () -> String
|
29
|
+
def inspect: () -> String
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# Generated from lib/herb/visitor.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
class Visitor
|
5
|
+
# : (Herb::AST::Node) -> void
|
6
|
+
def visit: (Herb::AST::Node) -> void
|
7
|
+
|
8
|
+
# : (Array[Herb::AST::Node]) -> void
|
9
|
+
def visit_all: (Array[Herb::AST::Node]) -> void
|
10
|
+
|
11
|
+
# : (Herb::AST::Node) -> void
|
12
|
+
def visit_child_nodes: (Herb::AST::Node) -> void
|
13
|
+
|
14
|
+
# : (Herb::AST::DocumentNode) -> void
|
15
|
+
def visit_document_node: (Herb::AST::DocumentNode) -> void
|
16
|
+
|
17
|
+
# : (Herb::AST::LiteralNode) -> void
|
18
|
+
def visit_literal_node: (Herb::AST::LiteralNode) -> void
|
19
|
+
|
20
|
+
# : (Herb::AST::HTMLOpenTagNode) -> void
|
21
|
+
def visit_html_open_tag_node: (Herb::AST::HTMLOpenTagNode) -> void
|
22
|
+
|
23
|
+
# : (Herb::AST::HTMLCloseTagNode) -> void
|
24
|
+
def visit_html_close_tag_node: (Herb::AST::HTMLCloseTagNode) -> void
|
25
|
+
|
26
|
+
# : (Herb::AST::HTMLSelfCloseTagNode) -> void
|
27
|
+
def visit_html_self_close_tag_node: (Herb::AST::HTMLSelfCloseTagNode) -> void
|
28
|
+
|
29
|
+
# : (Herb::AST::HTMLElementNode) -> void
|
30
|
+
def visit_html_element_node: (Herb::AST::HTMLElementNode) -> void
|
31
|
+
|
32
|
+
# : (Herb::AST::HTMLAttributeValueNode) -> void
|
33
|
+
def visit_html_attribute_value_node: (Herb::AST::HTMLAttributeValueNode) -> void
|
34
|
+
|
35
|
+
# : (Herb::AST::HTMLAttributeNameNode) -> void
|
36
|
+
def visit_html_attribute_name_node: (Herb::AST::HTMLAttributeNameNode) -> void
|
37
|
+
|
38
|
+
# : (Herb::AST::HTMLAttributeNode) -> void
|
39
|
+
def visit_html_attribute_node: (Herb::AST::HTMLAttributeNode) -> void
|
40
|
+
|
41
|
+
# : (Herb::AST::HTMLTextNode) -> void
|
42
|
+
def visit_html_text_node: (Herb::AST::HTMLTextNode) -> void
|
43
|
+
|
44
|
+
# : (Herb::AST::HTMLCommentNode) -> void
|
45
|
+
def visit_html_comment_node: (Herb::AST::HTMLCommentNode) -> void
|
46
|
+
|
47
|
+
# : (Herb::AST::HTMLDoctypeNode) -> void
|
48
|
+
def visit_html_doctype_node: (Herb::AST::HTMLDoctypeNode) -> void
|
49
|
+
|
50
|
+
# : (Herb::AST::WhitespaceNode) -> void
|
51
|
+
def visit_whitespace_node: (Herb::AST::WhitespaceNode) -> void
|
52
|
+
|
53
|
+
# : (Herb::AST::ERBContentNode) -> void
|
54
|
+
def visit_erb_content_node: (Herb::AST::ERBContentNode) -> void
|
55
|
+
|
56
|
+
# : (Herb::AST::ERBEndNode) -> void
|
57
|
+
def visit_erb_end_node: (Herb::AST::ERBEndNode) -> void
|
58
|
+
|
59
|
+
# : (Herb::AST::ERBElseNode) -> void
|
60
|
+
def visit_erb_else_node: (Herb::AST::ERBElseNode) -> void
|
61
|
+
|
62
|
+
# : (Herb::AST::ERBIfNode) -> void
|
63
|
+
def visit_erb_if_node: (Herb::AST::ERBIfNode) -> void
|
64
|
+
|
65
|
+
# : (Herb::AST::ERBBlockNode) -> void
|
66
|
+
def visit_erb_block_node: (Herb::AST::ERBBlockNode) -> void
|
67
|
+
|
68
|
+
# : (Herb::AST::ERBWhenNode) -> void
|
69
|
+
def visit_erb_when_node: (Herb::AST::ERBWhenNode) -> void
|
70
|
+
|
71
|
+
# : (Herb::AST::ERBCaseNode) -> void
|
72
|
+
def visit_erb_case_node: (Herb::AST::ERBCaseNode) -> void
|
73
|
+
|
74
|
+
# : (Herb::AST::ERBCaseMatchNode) -> void
|
75
|
+
def visit_erb_case_match_node: (Herb::AST::ERBCaseMatchNode) -> void
|
76
|
+
|
77
|
+
# : (Herb::AST::ERBWhileNode) -> void
|
78
|
+
def visit_erb_while_node: (Herb::AST::ERBWhileNode) -> void
|
79
|
+
|
80
|
+
# : (Herb::AST::ERBUntilNode) -> void
|
81
|
+
def visit_erb_until_node: (Herb::AST::ERBUntilNode) -> void
|
82
|
+
|
83
|
+
# : (Herb::AST::ERBForNode) -> void
|
84
|
+
def visit_erb_for_node: (Herb::AST::ERBForNode) -> void
|
85
|
+
|
86
|
+
# : (Herb::AST::ERBRescueNode) -> void
|
87
|
+
def visit_erb_rescue_node: (Herb::AST::ERBRescueNode) -> void
|
88
|
+
|
89
|
+
# : (Herb::AST::ERBEnsureNode) -> void
|
90
|
+
def visit_erb_ensure_node: (Herb::AST::ERBEnsureNode) -> void
|
91
|
+
|
92
|
+
# : (Herb::AST::ERBBeginNode) -> void
|
93
|
+
def visit_erb_begin_node: (Herb::AST::ERBBeginNode) -> void
|
94
|
+
|
95
|
+
# : (Herb::AST::ERBUnlessNode) -> void
|
96
|
+
def visit_erb_unless_node: (Herb::AST::ERBUnlessNode) -> void
|
97
|
+
|
98
|
+
# : (Herb::AST::ERBYieldNode) -> void
|
99
|
+
def visit_erb_yield_node: (Herb::AST::ERBYieldNode) -> void
|
100
|
+
|
101
|
+
# : (Herb::AST::ERBInNode) -> void
|
102
|
+
def visit_erb_in_node: (Herb::AST::ERBInNode) -> void
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Generated from lib/herb/warnings.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Herb
|
4
|
+
module Warnings
|
5
|
+
class Warning
|
6
|
+
attr_reader type: String
|
7
|
+
|
8
|
+
attr_reader location: Location
|
9
|
+
|
10
|
+
attr_reader message: String
|
11
|
+
|
12
|
+
# : (String, Location, String) -> void
|
13
|
+
def initialize: (String, Location, String) -> void
|
14
|
+
|
15
|
+
# : () -> serialized_warning
|
16
|
+
def to_hash: () -> serialized_warning
|
17
|
+
|
18
|
+
# : () -> String
|
19
|
+
def class_name: () -> String
|
20
|
+
|
21
|
+
# : () -> String
|
22
|
+
def warning_name: () -> String
|
23
|
+
|
24
|
+
# : (?untyped) -> String
|
25
|
+
def to_json: (?untyped) -> String
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/sig/herb.rbs
ADDED
data/sig/serialized.rbs
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
module Herb
|
2
|
+
type serialized_position = { line: Integer, column: Integer }
|
3
|
+
type serialized_location = { start: serialized_position, end: serialized_position }
|
4
|
+
type serialized_error = { type: String, location: serialized_location?, message: String }
|
5
|
+
type serialized_warning = { type: String, location: serialized_location?, message: String }
|
6
|
+
type serialized_range = [Integer, Integer]
|
7
|
+
type serialized_node = { type: String, location: serialized_location?, errors: Array[serialized_error] }
|
8
|
+
type serialized_token = { value: String, range: serialized_range?, location: serialized_location?, type: String }
|
9
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: true
|
3
|
+
|
4
|
+
# NOTE: This file is generated by the templates/template.rb script and should not be
|
5
|
+
# modified manually. See /Users/marcoroth/Development/herb-release/templates/sig/serialized_ast_errors.rbs.erb
|
6
|
+
|
7
|
+
module Herb
|
8
|
+
type serialized_unexpected_error = serialized_error & {
|
9
|
+
description: String,
|
10
|
+
expected: String,
|
11
|
+
found: String,
|
12
|
+
}
|
13
|
+
|
14
|
+
type serialized_unexpected_token_error = serialized_error & {
|
15
|
+
expected_type: String,
|
16
|
+
found: Herb::Token,
|
17
|
+
}
|
18
|
+
|
19
|
+
type serialized_missing_opening_tag_error = serialized_error & {
|
20
|
+
closing_tag: Herb::Token,
|
21
|
+
}
|
22
|
+
|
23
|
+
type serialized_missing_closing_tag_error = serialized_error & {
|
24
|
+
opening_tag: Herb::Token,
|
25
|
+
}
|
26
|
+
|
27
|
+
type serialized_tag_names_mismatch_error = serialized_error & {
|
28
|
+
opening_tag: Herb::Token,
|
29
|
+
closing_tag: Herb::Token,
|
30
|
+
}
|
31
|
+
|
32
|
+
type serialized_quotes_mismatch_error = serialized_error & {
|
33
|
+
opening_quote: Herb::Token,
|
34
|
+
closing_quote: Herb::Token,
|
35
|
+
}
|
36
|
+
|
37
|
+
type serialized_void_element_closing_tag_error = serialized_error & {
|
38
|
+
tag_name: Herb::Token,
|
39
|
+
expected: String,
|
40
|
+
found: String,
|
41
|
+
}
|
42
|
+
|
43
|
+
type serialized_unclosed_element_error = serialized_error & {
|
44
|
+
opening_tag: Herb::Token,
|
45
|
+
}
|
46
|
+
|
47
|
+
type serialized_ruby_parse_error = serialized_error & {
|
48
|
+
error_message: String,
|
49
|
+
diagnostic_id: String,
|
50
|
+
level: String,
|
51
|
+
}
|
52
|
+
|
53
|
+
end
|