solargraph 0.58.1 → 0.58.2

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +7 -1
  4. data/lib/solargraph/api_map/cache.rb +110 -110
  5. data/lib/solargraph/api_map/constants.rb +279 -279
  6. data/lib/solargraph/api_map/index.rb +193 -193
  7. data/lib/solargraph/api_map/source_to_yard.rb +97 -97
  8. data/lib/solargraph/api_map/store.rb +384 -384
  9. data/lib/solargraph/api_map.rb +945 -945
  10. data/lib/solargraph/complex_type/type_methods.rb +228 -228
  11. data/lib/solargraph/complex_type/unique_type.rb +482 -482
  12. data/lib/solargraph/complex_type.rb +444 -444
  13. data/lib/solargraph/convention/data_definition/data_definition_node.rb +91 -91
  14. data/lib/solargraph/convention/data_definition.rb +105 -105
  15. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +61 -61
  16. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +102 -102
  17. data/lib/solargraph/convention/struct_definition.rb +164 -164
  18. data/lib/solargraph/diagnostics/require_not_found.rb +53 -53
  19. data/lib/solargraph/diagnostics/rubocop.rb +118 -118
  20. data/lib/solargraph/diagnostics/rubocop_helpers.rb +68 -68
  21. data/lib/solargraph/diagnostics/type_check.rb +55 -55
  22. data/lib/solargraph/doc_map.rb +439 -439
  23. data/lib/solargraph/equality.rb +34 -34
  24. data/lib/solargraph/gem_pins.rb +98 -98
  25. data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
  26. data/lib/solargraph/language_server/host/dispatch.rb +130 -130
  27. data/lib/solargraph/language_server/host/message_worker.rb +112 -112
  28. data/lib/solargraph/language_server/host/sources.rb +99 -99
  29. data/lib/solargraph/language_server/host.rb +878 -878
  30. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +114 -114
  31. data/lib/solargraph/language_server/message/extended/document.rb +23 -23
  32. data/lib/solargraph/language_server/message/text_document/completion.rb +56 -56
  33. data/lib/solargraph/language_server/message/text_document/definition.rb +40 -40
  34. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +26 -26
  35. data/lib/solargraph/language_server/message/text_document/formatting.rb +148 -148
  36. data/lib/solargraph/language_server/message/text_document/hover.rb +58 -58
  37. data/lib/solargraph/language_server/message/text_document/signature_help.rb +24 -24
  38. data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -25
  39. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +23 -23
  40. data/lib/solargraph/library.rb +683 -683
  41. data/lib/solargraph/location.rb +82 -82
  42. data/lib/solargraph/logging.rb +37 -37
  43. data/lib/solargraph/parser/comment_ripper.rb +69 -69
  44. data/lib/solargraph/parser/flow_sensitive_typing.rb +255 -255
  45. data/lib/solargraph/parser/node_processor/base.rb +92 -92
  46. data/lib/solargraph/parser/node_processor.rb +62 -62
  47. data/lib/solargraph/parser/parser_gem/class_methods.rb +149 -149
  48. data/lib/solargraph/parser/parser_gem/node_chainer.rb +166 -166
  49. data/lib/solargraph/parser/parser_gem/node_methods.rb +486 -486
  50. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +22 -22
  51. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +59 -59
  52. data/lib/solargraph/parser/parser_gem/node_processors/begin_node.rb +15 -15
  53. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +46 -46
  54. data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +53 -53
  55. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +23 -23
  56. data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +40 -40
  57. data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +29 -29
  58. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +59 -59
  59. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +98 -98
  60. data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +17 -17
  61. data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +38 -38
  62. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +52 -52
  63. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +291 -291
  64. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -29
  65. data/lib/solargraph/parser/parser_gem/node_processors.rb +70 -70
  66. data/lib/solargraph/parser/region.rb +69 -69
  67. data/lib/solargraph/parser/snippet.rb +17 -17
  68. data/lib/solargraph/pin/base.rb +729 -729
  69. data/lib/solargraph/pin/base_variable.rb +126 -126
  70. data/lib/solargraph/pin/block.rb +104 -104
  71. data/lib/solargraph/pin/breakable.rb +9 -9
  72. data/lib/solargraph/pin/callable.rb +231 -231
  73. data/lib/solargraph/pin/closure.rb +72 -72
  74. data/lib/solargraph/pin/common.rb +79 -79
  75. data/lib/solargraph/pin/conversions.rb +123 -123
  76. data/lib/solargraph/pin/delegated_method.rb +120 -120
  77. data/lib/solargraph/pin/documenting.rb +114 -114
  78. data/lib/solargraph/pin/instance_variable.rb +34 -34
  79. data/lib/solargraph/pin/keyword.rb +20 -20
  80. data/lib/solargraph/pin/local_variable.rb +75 -75
  81. data/lib/solargraph/pin/method.rb +672 -672
  82. data/lib/solargraph/pin/method_alias.rb +34 -34
  83. data/lib/solargraph/pin/namespace.rb +115 -115
  84. data/lib/solargraph/pin/parameter.rb +275 -275
  85. data/lib/solargraph/pin/proxy_type.rb +39 -39
  86. data/lib/solargraph/pin/reference/override.rb +47 -47
  87. data/lib/solargraph/pin/reference/superclass.rb +15 -15
  88. data/lib/solargraph/pin/reference.rb +39 -39
  89. data/lib/solargraph/pin/search.rb +61 -61
  90. data/lib/solargraph/pin/signature.rb +61 -61
  91. data/lib/solargraph/pin/symbol.rb +53 -53
  92. data/lib/solargraph/pin/until.rb +18 -18
  93. data/lib/solargraph/pin/while.rb +18 -18
  94. data/lib/solargraph/pin.rb +44 -44
  95. data/lib/solargraph/pin_cache.rb +245 -245
  96. data/lib/solargraph/position.rb +132 -119
  97. data/lib/solargraph/range.rb +112 -112
  98. data/lib/solargraph/rbs_map/conversions.rb +823 -823
  99. data/lib/solargraph/rbs_map/core_map.rb +58 -58
  100. data/lib/solargraph/rbs_map/stdlib_map.rb +43 -43
  101. data/lib/solargraph/rbs_map.rb +163 -163
  102. data/lib/solargraph/shell.rb +352 -352
  103. data/lib/solargraph/source/chain/call.rb +337 -337
  104. data/lib/solargraph/source/chain/constant.rb +26 -26
  105. data/lib/solargraph/source/chain/hash.rb +34 -34
  106. data/lib/solargraph/source/chain/if.rb +28 -28
  107. data/lib/solargraph/source/chain/instance_variable.rb +13 -13
  108. data/lib/solargraph/source/chain/literal.rb +48 -48
  109. data/lib/solargraph/source/chain/or.rb +23 -23
  110. data/lib/solargraph/source/chain.rb +291 -291
  111. data/lib/solargraph/source/change.rb +82 -82
  112. data/lib/solargraph/source/cursor.rb +166 -166
  113. data/lib/solargraph/source/source_chainer.rb +194 -194
  114. data/lib/solargraph/source/updater.rb +55 -55
  115. data/lib/solargraph/source.rb +498 -498
  116. data/lib/solargraph/source_map/clip.rb +226 -226
  117. data/lib/solargraph/source_map/data.rb +34 -34
  118. data/lib/solargraph/source_map/mapper.rb +259 -259
  119. data/lib/solargraph/source_map.rb +212 -212
  120. data/lib/solargraph/type_checker/checks.rb +124 -124
  121. data/lib/solargraph/type_checker/param_def.rb +37 -37
  122. data/lib/solargraph/type_checker/problem.rb +32 -32
  123. data/lib/solargraph/type_checker/rules.rb +84 -84
  124. data/lib/solargraph/type_checker.rb +814 -814
  125. data/lib/solargraph/version.rb +1 -1
  126. data/lib/solargraph/workspace/config.rb +255 -255
  127. data/lib/solargraph/workspace/require_paths.rb +97 -97
  128. data/lib/solargraph/workspace.rb +220 -220
  129. data/lib/solargraph/yard_map/helpers.rb +44 -44
  130. data/lib/solargraph/yard_map/mapper/to_method.rb +130 -130
  131. data/lib/solargraph/yard_map/mapper/to_namespace.rb +31 -31
  132. data/lib/solargraph/yard_map/mapper.rb +79 -79
  133. data/lib/solargraph/yard_map/to_method.rb +89 -89
  134. data/lib/solargraph/yardoc.rb +87 -87
  135. data/lib/solargraph.rb +105 -105
  136. data/rbs_collection.yaml +1 -1
  137. metadata +12 -12
  138. /data/{sig → rbs}/shims/ast/0/node.rbs +0 -0
  139. /data/{sig → rbs}/shims/ast/2.4/.rbs_meta.yaml +0 -0
  140. /data/{sig → rbs}/shims/ast/2.4/ast.rbs +0 -0
  141. /data/{sig → rbs}/shims/parser/3.2.0.1/builders/default.rbs +0 -0
  142. /data/{sig → rbs}/shims/parser/3.2.0.1/manifest.yaml +0 -0
  143. /data/{sig → rbs}/shims/parser/3.2.0.1/parser.rbs +0 -0
  144. /data/{sig → rbs}/shims/parser/3.2.0.1/polyfill.rbs +0 -0
  145. /data/{sig → rbs}/shims/thor/1.2.0.1/.rbs_meta.yaml +0 -0
  146. /data/{sig → rbs}/shims/thor/1.2.0.1/manifest.yaml +0 -0
  147. /data/{sig → rbs}/shims/thor/1.2.0.1/thor.rbs +0 -0
@@ -1,70 +1,70 @@
1
- # frozen_string_literal: true
2
-
3
- require 'solargraph/parser/node_processor'
4
-
5
- module Solargraph
6
- module Parser
7
- module ParserGem
8
- module NodeProcessors
9
- autoload :BeginNode, 'solargraph/parser/parser_gem/node_processors/begin_node'
10
- autoload :DefNode, 'solargraph/parser/parser_gem/node_processors/def_node'
11
- autoload :DefsNode, 'solargraph/parser/parser_gem/node_processors/defs_node'
12
- autoload :SendNode, 'solargraph/parser/parser_gem/node_processors/send_node'
13
- autoload :NamespaceNode, 'solargraph/parser/parser_gem/node_processors/namespace_node'
14
- autoload :SclassNode, 'solargraph/parser/parser_gem/node_processors/sclass_node'
15
- autoload :IvasgnNode, 'solargraph/parser/parser_gem/node_processors/ivasgn_node'
16
- autoload :IfNode, 'solargraph/parser/parser_gem/node_processors/if_node'
17
- autoload :CvasgnNode, 'solargraph/parser/parser_gem/node_processors/cvasgn_node'
18
- autoload :LvasgnNode, 'solargraph/parser/parser_gem/node_processors/lvasgn_node'
19
- autoload :GvasgnNode, 'solargraph/parser/parser_gem/node_processors/gvasgn_node'
20
- autoload :CasgnNode, 'solargraph/parser/parser_gem/node_processors/casgn_node'
21
- autoload :MasgnNode, 'solargraph/parser/parser_gem/node_processors/masgn_node'
22
- autoload :AliasNode, 'solargraph/parser/parser_gem/node_processors/alias_node'
23
- autoload :ArgsNode, 'solargraph/parser/parser_gem/node_processors/args_node'
24
- autoload :BlockNode, 'solargraph/parser/parser_gem/node_processors/block_node'
25
- autoload :OrasgnNode, 'solargraph/parser/parser_gem/node_processors/orasgn_node'
26
- autoload :OpasgnNode, 'solargraph/parser/parser_gem/node_processors/opasgn_node'
27
- autoload :SymNode, 'solargraph/parser/parser_gem/node_processors/sym_node'
28
- autoload :ResbodyNode, 'solargraph/parser/parser_gem/node_processors/resbody_node'
29
- autoload :UntilNode, 'solargraph/parser/parser_gem/node_processors/until_node'
30
- autoload :WhileNode, 'solargraph/parser/parser_gem/node_processors/while_node'
31
- autoload :AndNode, 'solargraph/parser/parser_gem/node_processors/and_node'
32
- end
33
- end
34
-
35
- module NodeProcessor
36
- register :source, ParserGem::NodeProcessors::BeginNode
37
- register :begin, ParserGem::NodeProcessors::BeginNode
38
- register :kwbegin, ParserGem::NodeProcessors::BeginNode
39
- register :rescue, ParserGem::NodeProcessors::BeginNode
40
- register :resbody, ParserGem::NodeProcessors::ResbodyNode
41
- register :def, ParserGem::NodeProcessors::DefNode
42
- register :defs, ParserGem::NodeProcessors::DefsNode
43
- register :if, ParserGem::NodeProcessors::IfNode
44
- register :send, ParserGem::NodeProcessors::SendNode
45
- register :class, Convention::StructDefinition::NodeProcessors::StructNode
46
- register :class, Convention::DataDefinition::NodeProcessors::DataNode
47
- register :class, ParserGem::NodeProcessors::NamespaceNode
48
- register :module, ParserGem::NodeProcessors::NamespaceNode
49
- register :sclass, ParserGem::NodeProcessors::SclassNode
50
- register :ivasgn, ParserGem::NodeProcessors::IvasgnNode
51
- register :cvasgn, ParserGem::NodeProcessors::CvasgnNode
52
- register :lvasgn, ParserGem::NodeProcessors::LvasgnNode
53
- register :gvasgn, ParserGem::NodeProcessors::GvasgnNode
54
- register :casgn, Convention::StructDefinition::NodeProcessors::StructNode
55
- register :casgn, Convention::DataDefinition::NodeProcessors::DataNode
56
- register :casgn, ParserGem::NodeProcessors::CasgnNode
57
- register :masgn, ParserGem::NodeProcessors::MasgnNode
58
- register :alias, ParserGem::NodeProcessors::AliasNode
59
- register :args, ParserGem::NodeProcessors::ArgsNode
60
- register :forward_args, ParserGem::NodeProcessors::ArgsNode
61
- register :block, ParserGem::NodeProcessors::BlockNode
62
- register :or_asgn, ParserGem::NodeProcessors::OrasgnNode
63
- register :op_asgn, ParserGem::NodeProcessors::OpasgnNode
64
- register :sym, ParserGem::NodeProcessors::SymNode
65
- register :until, ParserGem::NodeProcessors::UntilNode
66
- register :while, ParserGem::NodeProcessors::WhileNode
67
- register :and, ParserGem::NodeProcessors::AndNode
68
- end
69
- end
70
- end
1
+ # frozen_string_literal: true
2
+
3
+ require 'solargraph/parser/node_processor'
4
+
5
+ module Solargraph
6
+ module Parser
7
+ module ParserGem
8
+ module NodeProcessors
9
+ autoload :BeginNode, 'solargraph/parser/parser_gem/node_processors/begin_node'
10
+ autoload :DefNode, 'solargraph/parser/parser_gem/node_processors/def_node'
11
+ autoload :DefsNode, 'solargraph/parser/parser_gem/node_processors/defs_node'
12
+ autoload :SendNode, 'solargraph/parser/parser_gem/node_processors/send_node'
13
+ autoload :NamespaceNode, 'solargraph/parser/parser_gem/node_processors/namespace_node'
14
+ autoload :SclassNode, 'solargraph/parser/parser_gem/node_processors/sclass_node'
15
+ autoload :IvasgnNode, 'solargraph/parser/parser_gem/node_processors/ivasgn_node'
16
+ autoload :IfNode, 'solargraph/parser/parser_gem/node_processors/if_node'
17
+ autoload :CvasgnNode, 'solargraph/parser/parser_gem/node_processors/cvasgn_node'
18
+ autoload :LvasgnNode, 'solargraph/parser/parser_gem/node_processors/lvasgn_node'
19
+ autoload :GvasgnNode, 'solargraph/parser/parser_gem/node_processors/gvasgn_node'
20
+ autoload :CasgnNode, 'solargraph/parser/parser_gem/node_processors/casgn_node'
21
+ autoload :MasgnNode, 'solargraph/parser/parser_gem/node_processors/masgn_node'
22
+ autoload :AliasNode, 'solargraph/parser/parser_gem/node_processors/alias_node'
23
+ autoload :ArgsNode, 'solargraph/parser/parser_gem/node_processors/args_node'
24
+ autoload :BlockNode, 'solargraph/parser/parser_gem/node_processors/block_node'
25
+ autoload :OrasgnNode, 'solargraph/parser/parser_gem/node_processors/orasgn_node'
26
+ autoload :OpasgnNode, 'solargraph/parser/parser_gem/node_processors/opasgn_node'
27
+ autoload :SymNode, 'solargraph/parser/parser_gem/node_processors/sym_node'
28
+ autoload :ResbodyNode, 'solargraph/parser/parser_gem/node_processors/resbody_node'
29
+ autoload :UntilNode, 'solargraph/parser/parser_gem/node_processors/until_node'
30
+ autoload :WhileNode, 'solargraph/parser/parser_gem/node_processors/while_node'
31
+ autoload :AndNode, 'solargraph/parser/parser_gem/node_processors/and_node'
32
+ end
33
+ end
34
+
35
+ module NodeProcessor
36
+ register :source, ParserGem::NodeProcessors::BeginNode
37
+ register :begin, ParserGem::NodeProcessors::BeginNode
38
+ register :kwbegin, ParserGem::NodeProcessors::BeginNode
39
+ register :rescue, ParserGem::NodeProcessors::BeginNode
40
+ register :resbody, ParserGem::NodeProcessors::ResbodyNode
41
+ register :def, ParserGem::NodeProcessors::DefNode
42
+ register :defs, ParserGem::NodeProcessors::DefsNode
43
+ register :if, ParserGem::NodeProcessors::IfNode
44
+ register :send, ParserGem::NodeProcessors::SendNode
45
+ register :class, Convention::StructDefinition::NodeProcessors::StructNode
46
+ register :class, Convention::DataDefinition::NodeProcessors::DataNode
47
+ register :class, ParserGem::NodeProcessors::NamespaceNode
48
+ register :module, ParserGem::NodeProcessors::NamespaceNode
49
+ register :sclass, ParserGem::NodeProcessors::SclassNode
50
+ register :ivasgn, ParserGem::NodeProcessors::IvasgnNode
51
+ register :cvasgn, ParserGem::NodeProcessors::CvasgnNode
52
+ register :lvasgn, ParserGem::NodeProcessors::LvasgnNode
53
+ register :gvasgn, ParserGem::NodeProcessors::GvasgnNode
54
+ register :casgn, Convention::StructDefinition::NodeProcessors::StructNode
55
+ register :casgn, Convention::DataDefinition::NodeProcessors::DataNode
56
+ register :casgn, ParserGem::NodeProcessors::CasgnNode
57
+ register :masgn, ParserGem::NodeProcessors::MasgnNode
58
+ register :alias, ParserGem::NodeProcessors::AliasNode
59
+ register :args, ParserGem::NodeProcessors::ArgsNode
60
+ register :forward_args, ParserGem::NodeProcessors::ArgsNode
61
+ register :block, ParserGem::NodeProcessors::BlockNode
62
+ register :or_asgn, ParserGem::NodeProcessors::OrasgnNode
63
+ register :op_asgn, ParserGem::NodeProcessors::OpasgnNode
64
+ register :sym, ParserGem::NodeProcessors::SymNode
65
+ register :until, ParserGem::NodeProcessors::UntilNode
66
+ register :while, ParserGem::NodeProcessors::WhileNode
67
+ register :and, ParserGem::NodeProcessors::AndNode
68
+ end
69
+ end
70
+ end
@@ -1,69 +1,69 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph
4
- module Parser
5
- # Data used by the parser to track context at various locations in a
6
- # source.
7
- #
8
- class Region
9
- # @return [Pin::Closure]
10
- attr_reader :closure
11
-
12
- # @return [Symbol]
13
- attr_reader :scope
14
-
15
- # @return [Symbol]
16
- attr_reader :visibility
17
-
18
- # @return [Solargraph::Source]
19
- attr_reader :source
20
-
21
- # @return [Array<Symbol>]
22
- attr_reader :lvars
23
-
24
- # @param source [Source]
25
- # @param namespace [String]
26
- # @param closure [Pin::Closure, nil]
27
- # @param scope [Symbol, nil]
28
- # @param visibility [Symbol]
29
- # @param lvars [Array<Symbol>]
30
- def initialize source: Solargraph::Source.load_string(''), closure: nil,
31
- scope: nil, visibility: :public, lvars: []
32
- @source = source
33
- # @closure = closure
34
- @closure = closure || Pin::Namespace.new(name: '', location: source.location, source: :parser)
35
- @scope = scope
36
- @visibility = visibility
37
- @lvars = lvars
38
- end
39
-
40
- # @return [String]
41
- def filename
42
- source.filename
43
- end
44
-
45
- # Generate a new Region with the provided attribute changes.
46
- #
47
- # @param closure [Pin::Closure, nil]
48
- # @param scope [Symbol, nil]
49
- # @param visibility [Symbol, nil]
50
- # @param lvars [Array<Symbol>, nil]
51
- # @return [Region]
52
- def update closure: nil, scope: nil, visibility: nil, lvars: nil
53
- Region.new(
54
- source: source,
55
- closure: closure || self.closure,
56
- scope: scope || self.scope,
57
- visibility: visibility || self.visibility,
58
- lvars: lvars || self.lvars
59
- )
60
- end
61
-
62
- # @param node [Parser::AST::Node]
63
- # @return [String]
64
- def code_for node
65
- source.code_for(node)
66
- end
67
- end
68
- end
69
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ module Parser
5
+ # Data used by the parser to track context at various locations in a
6
+ # source.
7
+ #
8
+ class Region
9
+ # @return [Pin::Closure]
10
+ attr_reader :closure
11
+
12
+ # @return [Symbol]
13
+ attr_reader :scope
14
+
15
+ # @return [Symbol]
16
+ attr_reader :visibility
17
+
18
+ # @return [Solargraph::Source]
19
+ attr_reader :source
20
+
21
+ # @return [Array<Symbol>]
22
+ attr_reader :lvars
23
+
24
+ # @param source [Source]
25
+ # @param namespace [String]
26
+ # @param closure [Pin::Closure, nil]
27
+ # @param scope [Symbol, nil]
28
+ # @param visibility [Symbol]
29
+ # @param lvars [Array<Symbol>]
30
+ def initialize source: Solargraph::Source.load_string(''), closure: nil,
31
+ scope: nil, visibility: :public, lvars: []
32
+ @source = source
33
+ # @closure = closure
34
+ @closure = closure || Pin::Namespace.new(name: '', location: source.location, source: :parser)
35
+ @scope = scope
36
+ @visibility = visibility
37
+ @lvars = lvars
38
+ end
39
+
40
+ # @return [String]
41
+ def filename
42
+ source.filename
43
+ end
44
+
45
+ # Generate a new Region with the provided attribute changes.
46
+ #
47
+ # @param closure [Pin::Closure, nil]
48
+ # @param scope [Symbol, nil]
49
+ # @param visibility [Symbol, nil]
50
+ # @param lvars [Array<Symbol>, nil]
51
+ # @return [Region]
52
+ def update closure: nil, scope: nil, visibility: nil, lvars: nil
53
+ Region.new(
54
+ source: source,
55
+ closure: closure || self.closure,
56
+ scope: scope || self.scope,
57
+ visibility: visibility || self.visibility,
58
+ lvars: lvars || self.lvars
59
+ )
60
+ end
61
+
62
+ # @param node [Parser::AST::Node]
63
+ # @return [String]
64
+ def code_for node
65
+ source.code_for(node)
66
+ end
67
+ end
68
+ end
69
+ end
@@ -1,17 +1,17 @@
1
- module Solargraph
2
- module Parser
3
- class Snippet
4
- # @return [Range]
5
- attr_reader :range
6
- # @return [String]
7
- attr_reader :text
8
-
9
- # @param range [Solargraph::Range]
10
- # @param text [String]
11
- def initialize range, text
12
- @range = range
13
- @text = text
14
- end
15
- end
16
- end
17
- end
1
+ module Solargraph
2
+ module Parser
3
+ class Snippet
4
+ # @return [Range]
5
+ attr_reader :range
6
+ # @return [String]
7
+ attr_reader :text
8
+
9
+ # @param range [Solargraph::Range]
10
+ # @param text [String]
11
+ def initialize range, text
12
+ @range = range
13
+ @text = text
14
+ end
15
+ end
16
+ end
17
+ end