class Solargraph::Parser::Region
Data used by the parser to track context at various locations in a source.
Attributes
closure[R]
@return [Pin::Closure]
lvars[R]
@return [Array<Symbol>]
scope[R]
@return [Symbol]
source[R]
@return [Solargraph::Source]
visibility[R]
@return [Symbol]
Public Class Methods
new(source: Solargraph::Source.load_string(''), closure: nil, scope: nil, visibility: :public, lvars: [])
click to toggle source
@param source [Source] @param namespace [String] @param scope [Symbol] @param visibility [Symbol]
# File lib/solargraph/parser/region.rb, line 27 def initialize source: Solargraph::Source.load_string(''), closure: nil, scope: nil, visibility: :public, lvars: [] @source = source # @closure = closure @closure = closure || Pin::Namespace.new(name: '', location: source.location) @scope = scope @visibility = visibility @lvars = lvars end
Public Instance Methods
code_for(node)
click to toggle source
@param node [Parser::AST::Node] @return [String]
# File lib/solargraph/parser/region.rb, line 60 def code_for node source.code_for(node) end
filename()
click to toggle source
@return [String]
# File lib/solargraph/parser/region.rb, line 38 def filename source.filename end
update(closure: nil, scope: nil, visibility: nil, lvars: nil)
click to toggle source
Generate a new Region with the provided attribute changes.
@param closure [Pin::Closure, nil] @param scope [Symbol, nil] @param visibility [Symbol, nil] @return [Region]
# File lib/solargraph/parser/region.rb, line 48 def update closure: nil, scope: nil, visibility: nil, lvars: nil Region.new( source: source, closure: closure || self.closure, scope: scope || self.scope, visibility: visibility || self.visibility, lvars: lvars || self.lvars ) end