solargraph 0.58.0 → 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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +9 -0
  5. data/bin/solargraph +8 -8
  6. data/lib/solargraph/api_map/cache.rb +110 -110
  7. data/lib/solargraph/api_map/constants.rb +279 -279
  8. data/lib/solargraph/api_map/index.rb +193 -193
  9. data/lib/solargraph/api_map/source_to_yard.rb +97 -97
  10. data/lib/solargraph/api_map/store.rb +384 -384
  11. data/lib/solargraph/api_map.rb +945 -945
  12. data/lib/solargraph/complex_type/type_methods.rb +228 -228
  13. data/lib/solargraph/complex_type/unique_type.rb +482 -482
  14. data/lib/solargraph/complex_type.rb +444 -444
  15. data/lib/solargraph/convention/data_definition/data_definition_node.rb +91 -91
  16. data/lib/solargraph/convention/data_definition.rb +105 -105
  17. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +61 -61
  18. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +102 -102
  19. data/lib/solargraph/convention/struct_definition.rb +164 -164
  20. data/lib/solargraph/diagnostics/require_not_found.rb +53 -53
  21. data/lib/solargraph/diagnostics/rubocop.rb +118 -118
  22. data/lib/solargraph/diagnostics/rubocop_helpers.rb +68 -68
  23. data/lib/solargraph/diagnostics/type_check.rb +55 -55
  24. data/lib/solargraph/doc_map.rb +439 -439
  25. data/lib/solargraph/equality.rb +34 -34
  26. data/lib/solargraph/gem_pins.rb +98 -98
  27. data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
  28. data/lib/solargraph/language_server/host/dispatch.rb +130 -130
  29. data/lib/solargraph/language_server/host/message_worker.rb +112 -112
  30. data/lib/solargraph/language_server/host/sources.rb +99 -99
  31. data/lib/solargraph/language_server/host.rb +878 -878
  32. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +114 -114
  33. data/lib/solargraph/language_server/message/extended/document.rb +23 -23
  34. data/lib/solargraph/language_server/message/text_document/completion.rb +56 -56
  35. data/lib/solargraph/language_server/message/text_document/definition.rb +40 -40
  36. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +26 -26
  37. data/lib/solargraph/language_server/message/text_document/formatting.rb +148 -148
  38. data/lib/solargraph/language_server/message/text_document/hover.rb +58 -58
  39. data/lib/solargraph/language_server/message/text_document/signature_help.rb +24 -24
  40. data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -25
  41. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +23 -23
  42. data/lib/solargraph/library.rb +683 -683
  43. data/lib/solargraph/location.rb +82 -82
  44. data/lib/solargraph/logging.rb +37 -37
  45. data/lib/solargraph/parser/comment_ripper.rb +69 -69
  46. data/lib/solargraph/parser/flow_sensitive_typing.rb +255 -255
  47. data/lib/solargraph/parser/node_processor/base.rb +92 -92
  48. data/lib/solargraph/parser/node_processor.rb +62 -62
  49. data/lib/solargraph/parser/parser_gem/class_methods.rb +149 -149
  50. data/lib/solargraph/parser/parser_gem/node_chainer.rb +166 -166
  51. data/lib/solargraph/parser/parser_gem/node_methods.rb +486 -486
  52. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +22 -22
  53. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +59 -59
  54. data/lib/solargraph/parser/parser_gem/node_processors/begin_node.rb +15 -15
  55. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +46 -46
  56. data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +53 -53
  57. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +23 -23
  58. data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +40 -40
  59. data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +29 -29
  60. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +59 -59
  61. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +98 -98
  62. data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +17 -17
  63. data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +38 -38
  64. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +52 -52
  65. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +291 -291
  66. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -29
  67. data/lib/solargraph/parser/parser_gem/node_processors.rb +70 -70
  68. data/lib/solargraph/parser/region.rb +69 -69
  69. data/lib/solargraph/parser/snippet.rb +17 -17
  70. data/lib/solargraph/pin/base.rb +729 -729
  71. data/lib/solargraph/pin/base_variable.rb +126 -126
  72. data/lib/solargraph/pin/block.rb +104 -104
  73. data/lib/solargraph/pin/breakable.rb +9 -9
  74. data/lib/solargraph/pin/callable.rb +231 -231
  75. data/lib/solargraph/pin/closure.rb +72 -72
  76. data/lib/solargraph/pin/common.rb +79 -79
  77. data/lib/solargraph/pin/conversions.rb +123 -123
  78. data/lib/solargraph/pin/delegated_method.rb +120 -120
  79. data/lib/solargraph/pin/documenting.rb +114 -114
  80. data/lib/solargraph/pin/instance_variable.rb +34 -34
  81. data/lib/solargraph/pin/keyword.rb +20 -20
  82. data/lib/solargraph/pin/local_variable.rb +75 -75
  83. data/lib/solargraph/pin/method.rb +672 -672
  84. data/lib/solargraph/pin/method_alias.rb +34 -34
  85. data/lib/solargraph/pin/namespace.rb +115 -115
  86. data/lib/solargraph/pin/parameter.rb +275 -275
  87. data/lib/solargraph/pin/proxy_type.rb +39 -39
  88. data/lib/solargraph/pin/reference/override.rb +47 -47
  89. data/lib/solargraph/pin/reference/superclass.rb +15 -15
  90. data/lib/solargraph/pin/reference.rb +39 -39
  91. data/lib/solargraph/pin/search.rb +61 -61
  92. data/lib/solargraph/pin/signature.rb +61 -61
  93. data/lib/solargraph/pin/symbol.rb +53 -53
  94. data/lib/solargraph/pin/until.rb +18 -18
  95. data/lib/solargraph/pin/while.rb +18 -18
  96. data/lib/solargraph/pin.rb +44 -44
  97. data/lib/solargraph/pin_cache.rb +245 -245
  98. data/lib/solargraph/position.rb +132 -119
  99. data/lib/solargraph/range.rb +112 -112
  100. data/lib/solargraph/rbs_map/conversions.rb +823 -823
  101. data/lib/solargraph/rbs_map/core_map.rb +58 -58
  102. data/lib/solargraph/rbs_map/stdlib_map.rb +43 -43
  103. data/lib/solargraph/rbs_map.rb +163 -163
  104. data/lib/solargraph/shell.rb +352 -352
  105. data/lib/solargraph/source/chain/call.rb +337 -337
  106. data/lib/solargraph/source/chain/constant.rb +26 -26
  107. data/lib/solargraph/source/chain/hash.rb +34 -34
  108. data/lib/solargraph/source/chain/if.rb +28 -28
  109. data/lib/solargraph/source/chain/instance_variable.rb +13 -13
  110. data/lib/solargraph/source/chain/literal.rb +48 -48
  111. data/lib/solargraph/source/chain/or.rb +23 -23
  112. data/lib/solargraph/source/chain.rb +291 -291
  113. data/lib/solargraph/source/change.rb +82 -82
  114. data/lib/solargraph/source/cursor.rb +166 -166
  115. data/lib/solargraph/source/encoding_fixes.rb +23 -23
  116. data/lib/solargraph/source/source_chainer.rb +194 -194
  117. data/lib/solargraph/source/updater.rb +55 -55
  118. data/lib/solargraph/source.rb +498 -498
  119. data/lib/solargraph/source_map/clip.rb +226 -226
  120. data/lib/solargraph/source_map/data.rb +34 -34
  121. data/lib/solargraph/source_map/mapper.rb +259 -259
  122. data/lib/solargraph/source_map.rb +212 -212
  123. data/lib/solargraph/type_checker/checks.rb +124 -124
  124. data/lib/solargraph/type_checker/param_def.rb +37 -37
  125. data/lib/solargraph/type_checker/problem.rb +32 -32
  126. data/lib/solargraph/type_checker/rules.rb +84 -84
  127. data/lib/solargraph/type_checker.rb +814 -814
  128. data/lib/solargraph/version.rb +5 -5
  129. data/lib/solargraph/workspace/config.rb +255 -255
  130. data/lib/solargraph/workspace/require_paths.rb +97 -97
  131. data/lib/solargraph/workspace.rb +220 -220
  132. data/lib/solargraph/yard_map/helpers.rb +44 -44
  133. data/lib/solargraph/yard_map/mapper/to_method.rb +130 -130
  134. data/lib/solargraph/yard_map/mapper/to_namespace.rb +31 -31
  135. data/lib/solargraph/yard_map/mapper.rb +79 -79
  136. data/lib/solargraph/yard_map/to_method.rb +89 -89
  137. data/lib/solargraph/yardoc.rb +87 -87
  138. data/lib/solargraph.rb +105 -105
  139. data/rbs_collection.yaml +1 -1
  140. metadata +13 -12
  141. /data/{sig → rbs}/shims/ast/0/node.rbs +0 -0
  142. /data/{sig → rbs}/shims/ast/2.4/.rbs_meta.yaml +0 -0
  143. /data/{sig → rbs}/shims/ast/2.4/ast.rbs +0 -0
  144. /data/{sig → rbs}/shims/parser/3.2.0.1/builders/default.rbs +0 -0
  145. /data/{sig → rbs}/shims/parser/3.2.0.1/manifest.yaml +0 -0
  146. /data/{sig → rbs}/shims/parser/3.2.0.1/parser.rbs +0 -0
  147. /data/{sig → rbs}/shims/parser/3.2.0.1/polyfill.rbs +0 -0
  148. /data/{sig → rbs}/shims/thor/1.2.0.1/.rbs_meta.yaml +0 -0
  149. /data/{sig → rbs}/shims/thor/1.2.0.1/manifest.yaml +0 -0
  150. /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