ruby-lsp-rake 0.3.4 → 0.3.5

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -0
  3. data/Rakefile +5 -1
  4. data/lib/ruby_lsp/ruby_lsp_rake/addon.rb +15 -29
  5. data/lib/ruby_lsp/ruby_lsp_rake/code_lens.rb +5 -11
  6. data/lib/ruby_lsp/ruby_lsp_rake/definition.rb +9 -18
  7. data/lib/ruby_lsp/ruby_lsp_rake/hover.rb +10 -16
  8. data/lib/ruby_lsp/ruby_lsp_rake/indexing_enhancement.rb +13 -11
  9. data/lib/ruby_lsp_rake/version.rb +1 -1
  10. data/sorbet/config +1 -0
  11. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +34 -34
  12. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  13. data/sorbet/rbi/gems/{erubi@1.13.0.rbi → erubi@1.13.1.rbi} +27 -22
  14. data/sorbet/rbi/gems/{json@2.8.2.rbi → json@2.12.0.rbi} +355 -205
  15. data/sorbet/rbi/gems/{language_server-protocol@3.17.0.3.rbi → language_server-protocol@3.17.0.5.rbi} +2693 -2687
  16. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +86 -0
  17. data/sorbet/rbi/gems/{logger@1.6.1.rbi → logger@1.7.0.rbi} +120 -77
  18. data/sorbet/rbi/gems/{minitest@5.25.2.rbi → minitest@5.25.5.rbi} +397 -391
  19. data/sorbet/rbi/gems/{parallel@1.26.3.rbi → parallel@1.27.0.rbi} +72 -72
  20. data/sorbet/rbi/gems/{parser@3.3.6.0.rbi → parser@3.3.8.0.rbi} +1080 -1064
  21. data/sorbet/rbi/gems/{prism@1.2.0.rbi → prism@1.4.0.rbi} +8503 -5856
  22. data/sorbet/rbi/gems/{rbi@0.2.1.rbi → rbi@0.3.3.rbi} +3175 -968
  23. data/sorbet/rbi/gems/{rbs@3.6.1.rbi → rbs@3.9.3.rbi} +1857 -1736
  24. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.10.0.rbi} +1037 -1014
  25. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5240 -0
  26. data/sorbet/rbi/gems/{rubocop-ast@1.36.2.rbi → rubocop-ast@1.44.1.rbi} +1771 -1625
  27. data/sorbet/rbi/gems/{rubocop@1.69.0.rbi → rubocop@1.75.5.rbi} +12342 -9764
  28. data/sorbet/rbi/gems/ruby-lsp@0.23.19.rbi +7453 -0
  29. data/sorbet/rbi/gems/{spoom@1.5.0.rbi → spoom@1.6.3.rbi} +3098 -1045
  30. data/sorbet/rbi/gems/{tapioca@0.16.5.rbi → tapioca@0.16.11.rbi} +821 -791
  31. data/sorbet/rbi/gems/{unicode-display_width@3.1.2.rbi → unicode-display_width@3.1.4.rbi} +34 -32
  32. data/sorbet/tapioca/require.rb +1 -2
  33. metadata +26 -23
  34. data/sorbet/rbi/gems/ruby-lsp@0.22.1.rbi +0 -6119
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79d35d3d42cb87be33f403580360e1af2a5c9055b61fff9a0f975807738320de
4
- data.tar.gz: 166ec25de17e44c253a4e51ad26e7a593323880434a8550305cd143b9f530be8
3
+ metadata.gz: 452e879627dd3c27ad0098f47c1df078dfa3103abe4bf1af8629a016c35511ad
4
+ data.tar.gz: 3591baf6ef9331f441694d1044f80da452354ee8ea00f7228af253d63bad7949
5
5
  SHA512:
6
- metadata.gz: d7c62408c9fdf6f62e3efbbba3c67c4011cf846abf8f0b576ae9b9e88e46585f1257ee92b271de14b55e225f586bd3aa31479b6c8ea47d6f13c73a5b27403793
7
- data.tar.gz: 873b5c93130abec335efff99c581484160883e5c81c29029144d1b68f245547eb69a7bf4826d9fc1bc0812fde609fe3288718ae19b7d7545ebd7e61e93ee5b31
6
+ metadata.gz: fb7b7cc7734ea5f58179d5da0a7395fbd484dd2121197fc60d0fb5a04605ac9f403d54bf63ed858ce039a04b6b0496f91c92c3abf3a3118c4ae4cb70363ad39d
7
+ data.tar.gz: 03e832dce7066a16ca575886d1c4c8d2958bdc6d413c861df7d12ac18c00685ea48b57dc349f06beb4f5da383cfa35cf3c1c56e76d256ec63a3bbee5e01555de
data/.rubocop.yml CHANGED
@@ -1,6 +1,10 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 3.0
3
3
  NewCops: disable
4
+ SuggestExtensions: false
5
+
6
+ Style/Documentation:
7
+ Enabled: false
4
8
 
5
9
  Style/StringLiterals:
6
10
  EnforcedStyle: double_quotes
@@ -11,3 +15,12 @@ Style/StringLiteralsInInterpolation:
11
15
  Naming/FileName:
12
16
  Exclude:
13
17
  - "lib/ruby-lsp-rake.rb"
18
+
19
+ Layout/LeadingCommentSpace:
20
+ Enabled: false
21
+
22
+ Layout/LineLength:
23
+ Enabled: false
24
+
25
+ plugins:
26
+ - rubocop-oneoff_codemod
data/Rakefile CHANGED
@@ -9,7 +9,11 @@ require "rubocop/rake_task"
9
9
 
10
10
  RuboCop::RakeTask.new
11
11
 
12
- task default: %i[test rubocop srb:tc]
12
+ task :quiet_test do
13
+ sh "rake test 2>/dev/null"
14
+ end
15
+
16
+ task default: %i[quiet_test rubocop srb:tc]
13
17
 
14
18
  namespace :srb do
15
19
  desc "Run sorbet type check"
@@ -10,10 +10,11 @@ require_relative "code_lens"
10
10
 
11
11
  module RubyLsp
12
12
  module Rake
13
- class Addon < ::RubyLsp::Addon # rubocop:disable Style/Documentation
13
+ class Addon < ::RubyLsp::Addon
14
14
  extend T::Sig
15
15
 
16
- sig { override.params(global_state: GlobalState, outgoing_queue: Thread::Queue).void }
16
+ # @override
17
+ #: (GlobalState global_state, Thread::Queue outgoing_queue) -> void
17
18
  def activate(global_state, outgoing_queue)
18
19
  @index = global_state.index
19
20
  @index.configuration.apply_config({ "included_patterns" => ["**/Rakefile", "lib/../Rakefile"] })
@@ -21,51 +22,36 @@ module RubyLsp
21
22
  outgoing_queue << Notification.window_log_message("Activated Ruby LSP Rake")
22
23
  end
23
24
 
24
- sig { override.void }
25
+ # @override
26
+ #: -> void
25
27
  def deactivate; end
26
28
 
27
- sig { override.returns(String) }
29
+ # @override
30
+ #: -> String
28
31
  def name
29
32
  "A Ruby LSP addon that adds extra editor functionality for Rake"
30
33
  end
31
34
 
32
- sig { override.returns(String) }
35
+ # @override
36
+ #: -> String
33
37
  def version
34
38
  ::RubyLsp::Rake::VERSION
35
39
  end
36
40
 
37
- sig do
38
- override.params(
39
- response_builder: ResponseBuilders::Hover,
40
- node_context: NodeContext,
41
- dispatcher: Prism::Dispatcher
42
- ).void
43
- end
41
+ # @override
42
+ #: (ResponseBuilders::Hover response_builder, NodeContext node_context, Prism::Dispatcher dispatcher) -> void
44
43
  def create_hover_listener(response_builder, node_context, dispatcher)
45
44
  Hover.new(response_builder, node_context, dispatcher, @index)
46
45
  end
47
46
 
48
- sig do
49
- override.params(
50
- response_builder: ResponseBuilders::CollectionResponseBuilder[T.any(
51
- Interface::Location, Interface::LocationLink
52
- )],
53
- _uri: URI::Generic,
54
- node_context: NodeContext,
55
- dispatcher: Prism::Dispatcher
56
- ).void
57
- end
47
+ # @override
48
+ #: (ResponseBuilders::CollectionResponseBuilder response_builder, URI::Generic _uri, NodeContext node_context, Prism::Dispatcher dispatcher) -> void
58
49
  def create_definition_listener(response_builder, _uri, node_context, dispatcher)
59
50
  Definition.new(response_builder, node_context, @index, dispatcher)
60
51
  end
61
52
 
62
- sig do
63
- override.params(
64
- response_builder: ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens],
65
- uri: URI::Generic,
66
- dispatcher: Prism::Dispatcher
67
- ).void
68
- end
53
+ # @override
54
+ #: (ResponseBuilders::CollectionResponseBuilder response_builder, URI::Generic uri, Prism::Dispatcher dispatcher) -> void
69
55
  def create_code_lens_listener(response_builder, uri, dispatcher)
70
56
  CodeLens.new(response_builder, uri, dispatcher)
71
57
  end
@@ -3,17 +3,11 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rake
6
- class CodeLens # rubocop:disable Style/Documentation
6
+ class CodeLens
7
7
  extend T::Sig
8
8
  include Requests::Support::Common
9
9
 
10
- sig do
11
- params(
12
- response_builder: ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens],
13
- uri: URI::Generic,
14
- dispatcher: Prism::Dispatcher
15
- ).void
16
- end
10
+ #: (ResponseBuilders::CollectionResponseBuilder response_builder, URI::Generic uri, Prism::Dispatcher dispatcher) -> void
17
11
  def initialize(response_builder, uri, dispatcher)
18
12
  @response_builder = response_builder
19
13
  @path = T.let(T.unsafe(uri).to_standardized_path, T.nilable(String))
@@ -22,10 +16,10 @@ module RubyLsp
22
16
  dispatcher.register(self, :on_call_node_enter, :on_call_node_leave)
23
17
  end
24
18
 
25
- sig { params(node: Prism::CallNode).void }
19
+ #: (Prism::CallNode node) -> void
26
20
  def on_call_node_enter(node) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
27
21
  return unless node.receiver.nil?
28
- return unless node.name == :task || node.name == :namespace
22
+ return unless %i[task namespace].include? node.name
29
23
 
30
24
  arguments = node.arguments&.arguments
31
25
  return unless arguments
@@ -78,7 +72,7 @@ module RubyLsp
78
72
  )
79
73
  end
80
74
 
81
- sig { params(node: Prism::CallNode).void }
75
+ #: (Prism::CallNode node) -> void
82
76
  def on_call_node_leave(node)
83
77
  return unless node.name == :namespace
84
78
 
@@ -3,20 +3,11 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rake
6
- class Definition # rubocop:disable Style/Documentation
6
+ class Definition
7
7
  extend T::Sig
8
8
  include Requests::Support::Common
9
9
 
10
- sig do
11
- params(
12
- response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[T.any(
13
- Interface::Location, Interface::LocationLink
14
- )],
15
- node_context: NodeContext,
16
- index: RubyIndexer::Index,
17
- dispatcher: Prism::Dispatcher
18
- ).void
19
- end
10
+ #: (RubyLsp::ResponseBuilders::CollectionResponseBuilder response_builder, NodeContext node_context, RubyIndexer::Index index, Prism::Dispatcher dispatcher) -> void
20
11
  def initialize(response_builder, node_context, index, dispatcher)
21
12
  @response_builder = response_builder
22
13
  @node_context = node_context
@@ -26,17 +17,17 @@ module RubyLsp
26
17
  dispatcher.register(self, :on_symbol_node_enter, :on_string_node_enter)
27
18
  end
28
19
 
29
- sig { params(node: Prism::SymbolNode).void }
20
+ #: (Prism::SymbolNode node) -> void
30
21
  def on_symbol_node_enter(node)
31
22
  handle_prerequisite(node)
32
23
  end
33
24
 
34
- sig { params(node: Prism::StringNode).void }
25
+ #: (Prism::StringNode node) -> void
35
26
  def on_string_node_enter(node)
36
27
  handle_prerequisite(node)
37
28
  end
38
29
 
39
- sig { params(node: T.any(Prism::SymbolNode, Prism::StringNode)).void }
30
+ #: ((Prism::SymbolNode | Prism::StringNode) node) -> void
40
31
  def handle_prerequisite(node) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
41
32
  call_node_name = @node_context.call_node&.name
42
33
  return unless call_node_name == :task
@@ -61,12 +52,12 @@ module RubyLsp
61
52
  when Prism::SymbolNode
62
53
  return unless name == v.value
63
54
  when Prism::ArrayNode
64
- return unless v.elements.find do |node|
65
- name == case node # rubocop:disable Metrics/BlockNesting
55
+ return unless v.elements.find do |n|
56
+ name == case n # rubocop:disable Metrics/BlockNesting
66
57
  when Prism::StringNode
67
- node.content
58
+ n.content
68
59
  when Prism::SymbolNode
69
- node.value
60
+ n.value
70
61
  end
71
62
  end
72
63
  end
@@ -3,18 +3,12 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rake
6
- class Hover # rubocop:disable Style/Documentation
6
+ class Hover
7
7
  extend T::Sig
8
8
  include Requests::Support::Common
9
9
 
10
- sig do
11
- override.params(
12
- response_builder: ResponseBuilders::Hover,
13
- node_context: NodeContext,
14
- dispatcher: Prism::Dispatcher,
15
- index: RubyIndexer::Index
16
- ).void
17
- end
10
+ # @override
11
+ #: (ResponseBuilders::Hover response_builder, NodeContext node_context, Prism::Dispatcher dispatcher, RubyIndexer::Index index) -> void
18
12
  def initialize(response_builder, node_context, dispatcher, index)
19
13
  @response_builder = response_builder
20
14
  @node_context = node_context
@@ -22,17 +16,17 @@ module RubyLsp
22
16
  @index = index
23
17
  end
24
18
 
25
- sig { params(node: Prism::StringNode).void }
19
+ #: (Prism::StringNode node) -> void
26
20
  def on_string_node_enter(node)
27
21
  handle_prerequisite(node)
28
22
  end
29
23
 
30
- sig { params(node: Prism::SymbolNode).void }
24
+ #: (Prism::SymbolNode node) -> void
31
25
  def on_symbol_node_enter(node)
32
26
  handle_prerequisite(node)
33
27
  end
34
28
 
35
- sig { params(node: T.any(Prism::StringNode, Prism::SymbolNode)).void }
29
+ #: ((Prism::StringNode | Prism::SymbolNode) node) -> void
36
30
  def handle_prerequisite(node) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
37
31
  call_node_name = @node_context.call_node&.name
38
32
  return unless call_node_name == :task
@@ -57,12 +51,12 @@ module RubyLsp
57
51
  when Prism::SymbolNode
58
52
  return unless name == v.value
59
53
  when Prism::ArrayNode
60
- return unless v.elements.find do |node|
61
- name == case node # rubocop:disable Metrics/BlockNesting
54
+ return unless v.elements.find do |n|
55
+ name == case n # rubocop:disable Metrics/BlockNesting
62
56
  when Prism::StringNode
63
- node.content
57
+ n.content
64
58
  when Prism::SymbolNode
65
- node.value
59
+ n.value
66
60
  end
67
61
  end
68
62
  end
@@ -3,22 +3,23 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rake
6
- class IndexingEnhancement < RubyIndexer::Enhancement # rubocop:disable Style/Documentation
6
+ class IndexingEnhancement < RubyIndexer::Enhancement
7
7
  extend T::Sig
8
8
 
9
- sig { params(listener: RubyIndexer::DeclarationListener).void }
9
+ #: (RubyIndexer::DeclarationListener listener) -> void
10
10
  def initialize(listener)
11
11
  super(listener)
12
- @namespace_stack = []
13
- @last_desc = nil
12
+ @namespace_stack = T.let([], T::Array[String])
13
+ @last_desc = T.let(nil, T.nilable(String))
14
14
  end
15
15
 
16
- sig { override.params(node: Prism::CallNode).void }
16
+ # @override
17
+ #: (Prism::CallNode node) -> void
17
18
  def on_call_node_enter(node) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
18
19
  @last_desc = nil unless node.name == :task
19
20
 
20
- return unless @listener.current_owner.nil?
21
- return unless node.name == :task || node.name == :desc || node.name == :namespace
21
+ return unless T.cast(@listener, RubyIndexer::DeclarationListener).current_owner.nil?
22
+ return unless %i[task desc namespace].include? node.name
22
23
 
23
24
  arguments = node.arguments&.arguments
24
25
  return unless arguments
@@ -57,8 +58,8 @@ module RubyLsp
57
58
 
58
59
  ary = [*@namespace_stack, name]
59
60
  (1..(ary.size)).each do |i|
60
- @listener.add_method(
61
- "task:#{ary[-i..].join(":")}",
61
+ T.cast(@listener, RubyIndexer::DeclarationListener).add_method(
62
+ "task:#{ary[-i..]&.join(":")}",
62
63
  node.location,
63
64
  [],
64
65
  comments: @last_desc
@@ -68,9 +69,10 @@ module RubyLsp
68
69
  @last_desc = nil
69
70
  end
70
71
 
71
- sig { override.params(node: Prism::CallNode).void }
72
+ # @override
73
+ #: (Prism::CallNode node) -> void
72
74
  def on_call_node_leave(node)
73
- return unless @listener.current_owner.nil?
75
+ return unless T.cast(@listener, RubyIndexer::DeclarationListener).current_owner.nil?
74
76
  return unless node.name == :namespace
75
77
 
76
78
  @namespace_stack.pop
@@ -3,6 +3,6 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rake
6
- VERSION = "0.3.4"
6
+ VERSION = "0.3.5"
7
7
  end
8
8
  end
data/sorbet/config CHANGED
@@ -2,3 +2,4 @@
2
2
  .
3
3
  --ignore=tmp/
4
4
  --ignore=vendor/
5
+ --enable-experimental-rbs-comments
@@ -17,7 +17,7 @@
17
17
  # See also {AST::Node}, {AST::Processor::Mixin} and {AST::Sexp} for
18
18
  # additional recommendations and design patterns.
19
19
  #
20
- # source://ast/lib/ast.rb#13
20
+ # source://ast//lib/ast.rb#13
21
21
  module AST; end
22
22
 
23
23
  # Node is an immutable class, instances of which represent abstract
@@ -56,7 +56,7 @@ module AST; end
56
56
  # temporary node type requires making globally visible changes to
57
57
  # the codebase.
58
58
  #
59
- # source://ast/lib/ast/node.rb#40
59
+ # source://ast//lib/ast/node.rb#40
60
60
  class AST::Node
61
61
  # Constructs a new instance of Node.
62
62
  #
@@ -70,21 +70,21 @@ class AST::Node
70
70
  #
71
71
  # @return [Node] a new instance of Node
72
72
  #
73
- # source://ast/lib/ast/node.rb#72
73
+ # source://ast//lib/ast/node.rb#72
74
74
  def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end
75
75
 
76
76
  # Concatenates `array` with `children` and returns the resulting node.
77
77
  #
78
78
  # @return [AST::Node]
79
79
  #
80
- # source://ast/lib/ast/node.rb#168
80
+ # source://ast//lib/ast/node.rb#168
81
81
  def +(array); end
82
82
 
83
83
  # Appends `element` to `children` and returns the resulting node.
84
84
  #
85
85
  # @return [AST::Node]
86
86
  #
87
- # source://ast/lib/ast/node.rb#177
87
+ # source://ast//lib/ast/node.rb#177
88
88
  def <<(element); end
89
89
 
90
90
  # Compares `self` to `other`, possibly converting with `to_ast`. Only
@@ -92,14 +92,14 @@ class AST::Node
92
92
  #
93
93
  # @return [Boolean]
94
94
  #
95
- # source://ast/lib/ast/node.rb#153
95
+ # source://ast//lib/ast/node.rb#153
96
96
  def ==(other); end
97
97
 
98
98
  # Appends `element` to `children` and returns the resulting node.
99
99
  #
100
100
  # @return [AST::Node]
101
101
  #
102
- # source://ast/lib/ast/node.rb#177
102
+ # source://ast//lib/ast/node.rb#177
103
103
  def append(element); end
104
104
 
105
105
  # Returns the children of this node.
@@ -114,7 +114,7 @@ class AST::Node
114
114
  #
115
115
  # @return [Array]
116
116
  #
117
- # source://ast/lib/ast/node.rb#56
117
+ # source://ast//lib/ast/node.rb#56
118
118
  def children; end
119
119
 
120
120
  # Nodes are already frozen, so there is no harm in returning the
@@ -123,14 +123,14 @@ class AST::Node
123
123
  #
124
124
  # @return self
125
125
  #
126
- # source://ast/lib/ast/node.rb#115
126
+ # source://ast//lib/ast/node.rb#115
127
127
  def clone; end
128
128
 
129
129
  # Concatenates `array` with `children` and returns the resulting node.
130
130
  #
131
131
  # @return [AST::Node]
132
132
  #
133
- # source://ast/lib/ast/node.rb#168
133
+ # source://ast//lib/ast/node.rb#168
134
134
  def concat(array); end
135
135
 
136
136
  # Enables matching for Node, where type is the first element
@@ -138,7 +138,7 @@ class AST::Node
138
138
  #
139
139
  # @return [Array]
140
140
  #
141
- # source://ast/lib/ast/node.rb#253
141
+ # source://ast//lib/ast/node.rb#253
142
142
  def deconstruct; end
143
143
 
144
144
  # Nodes are already frozen, so there is no harm in returning the
@@ -147,7 +147,7 @@ class AST::Node
147
147
  #
148
148
  # @return self
149
149
  #
150
- # source://ast/lib/ast/node.rb#115
150
+ # source://ast//lib/ast/node.rb#115
151
151
  def dup; end
152
152
 
153
153
  # Test if other object is equal to
@@ -155,14 +155,14 @@ class AST::Node
155
155
  # @param other [Object]
156
156
  # @return [Boolean]
157
157
  #
158
- # source://ast/lib/ast/node.rb#85
158
+ # source://ast//lib/ast/node.rb#85
159
159
  def eql?(other); end
160
160
 
161
161
  # Returns the precomputed hash value for this node
162
162
  #
163
- # @return [Fixnum]
163
+ # @return [Integer]
164
164
  #
165
- # source://ast/lib/ast/node.rb#61
165
+ # source://ast//lib/ast/node.rb#61
166
166
  def hash; end
167
167
 
168
168
  # Converts `self` to a s-expression ruby string.
@@ -171,7 +171,7 @@ class AST::Node
171
171
  # @param indent [Integer] Base indentation level.
172
172
  # @return [String]
173
173
  #
174
- # source://ast/lib/ast/node.rb#211
174
+ # source://ast//lib/ast/node.rb#211
175
175
  def inspect(indent = T.unsafe(nil)); end
176
176
 
177
177
  # Returns the children of this node.
@@ -186,12 +186,12 @@ class AST::Node
186
186
  #
187
187
  # @return [Array]
188
188
  #
189
- # source://ast/lib/ast/node.rb#56
189
+ # source://ast//lib/ast/node.rb#56
190
190
  def to_a; end
191
191
 
192
192
  # @return [AST::Node] self
193
193
  #
194
- # source://ast/lib/ast/node.rb#229
194
+ # source://ast//lib/ast/node.rb#229
195
195
  def to_ast; end
196
196
 
197
197
  # Converts `self` to a pretty-printed s-expression.
@@ -199,7 +199,7 @@ class AST::Node
199
199
  # @param indent [Integer] Base indentation level.
200
200
  # @return [String]
201
201
  #
202
- # source://ast/lib/ast/node.rb#187
202
+ # source://ast//lib/ast/node.rb#187
203
203
  def to_s(indent = T.unsafe(nil)); end
204
204
 
205
205
  # Converts `self` to a pretty-printed s-expression.
@@ -207,7 +207,7 @@ class AST::Node
207
207
  # @param indent [Integer] Base indentation level.
208
208
  # @return [String]
209
209
  #
210
- # source://ast/lib/ast/node.rb#187
210
+ # source://ast//lib/ast/node.rb#187
211
211
  def to_sexp(indent = T.unsafe(nil)); end
212
212
 
213
213
  # Converts `self` to an Array where the first element is the type as a Symbol,
@@ -215,14 +215,14 @@ class AST::Node
215
215
  #
216
216
  # @return [Array<Symbol, [...Array]>]
217
217
  #
218
- # source://ast/lib/ast/node.rb#237
218
+ # source://ast//lib/ast/node.rb#237
219
219
  def to_sexp_array; end
220
220
 
221
221
  # Returns the type of this node.
222
222
  #
223
223
  # @return [Symbol]
224
224
  #
225
- # source://ast/lib/ast/node.rb#43
225
+ # source://ast//lib/ast/node.rb#43
226
226
  def type; end
227
227
 
228
228
  # Returns a new instance of Node where non-nil arguments replace the
@@ -239,7 +239,7 @@ class AST::Node
239
239
  # @param properties [Hash, nil]
240
240
  # @return [AST::Node]
241
241
  #
242
- # source://ast/lib/ast/node.rb#133
242
+ # source://ast//lib/ast/node.rb#133
243
243
  def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end
244
244
 
245
245
  protected
@@ -252,7 +252,7 @@ class AST::Node
252
252
  #
253
253
  # @return [nil]
254
254
  #
255
- # source://ast/lib/ast/node.rb#98
255
+ # source://ast//lib/ast/node.rb#98
256
256
  def assign_properties(properties); end
257
257
 
258
258
  # Returns `@type` with all underscores replaced by dashes. This allows
@@ -261,7 +261,7 @@ class AST::Node
261
261
  #
262
262
  # @return [String]
263
263
  #
264
- # source://ast/lib/ast/node.rb#264
264
+ # source://ast//lib/ast/node.rb#264
265
265
  def fancy_type; end
266
266
 
267
267
  private
@@ -276,7 +276,7 @@ end
276
276
  #
277
277
  # @deprecated Use {AST::Processor::Mixin} instead.
278
278
  #
279
- # source://ast/lib/ast/processor.rb#8
279
+ # source://ast//lib/ast/processor.rb#8
280
280
  class AST::Processor
281
281
  include ::AST::Processor::Mixin
282
282
  end
@@ -519,14 +519,14 @@ end
519
519
  # use some partial evaluation before! The possibilites are
520
520
  # endless. Have fun.
521
521
  #
522
- # source://ast/lib/ast/processor/mixin.rb#240
522
+ # source://ast//lib/ast/processor/mixin.rb#240
523
523
  module AST::Processor::Mixin
524
524
  # Default handler. Does nothing.
525
525
  #
526
526
  # @param node [AST::Node]
527
527
  # @return [AST::Node, nil]
528
528
  #
529
- # source://ast/lib/ast/processor/mixin.rb#284
529
+ # source://ast//lib/ast/processor/mixin.rb#284
530
530
  def handler_missing(node); end
531
531
 
532
532
  # Dispatches `node`. If a node has type `:foo`, then a handler
@@ -540,7 +540,7 @@ module AST::Processor::Mixin
540
540
  # @param node [AST::Node, nil]
541
541
  # @return [AST::Node, nil]
542
542
  #
543
- # source://ast/lib/ast/processor/mixin.rb#251
543
+ # source://ast//lib/ast/processor/mixin.rb#251
544
544
  def process(node); end
545
545
 
546
546
  # {#process}es each node from `nodes` and returns an array of
@@ -549,7 +549,7 @@ module AST::Processor::Mixin
549
549
  # @param nodes [Array<AST::Node>]
550
550
  # @return [Array<AST::Node>]
551
551
  #
552
- # source://ast/lib/ast/processor/mixin.rb#274
552
+ # source://ast//lib/ast/processor/mixin.rb#274
553
553
  def process_all(nodes); end
554
554
  end
555
555
 
@@ -557,8 +557,8 @@ end
557
557
  # to define deeply nested ASTs from Ruby code, for example, in
558
558
  # tests. It should be used like this:
559
559
  #
560
- # describe YourLanguage::AST do
561
- # include Sexp
560
+ # describe YourLanguage do
561
+ # include ::AST::Sexp
562
562
  #
563
563
  # it "should correctly parse expressions" do
564
564
  # YourLanguage.parse("1 + 2 * 3").should ==
@@ -572,7 +572,7 @@ end
572
572
  #
573
573
  # This way the amount of boilerplate code is greatly reduced.
574
574
  #
575
- # source://ast/lib/ast/sexp.rb#20
575
+ # source://ast//lib/ast/sexp.rb#20
576
576
  module AST::Sexp
577
577
  # Creates a {Node} with type `type` and children `children`.
578
578
  # Note that the resulting node is of the type AST::Node and not a
@@ -580,6 +580,6 @@ module AST::Sexp
580
580
  # This would not pose a problem with comparisons, as {Node#==}
581
581
  # ignores metadata.
582
582
  #
583
- # source://ast/lib/ast/sexp.rb#26
583
+ # source://ast//lib/ast/sexp.rb#26
584
584
  def s(type, *children); end
585
585
  end