class Solargraph::Parser::Region
Data used by the parser to track context at various locations in a source.
Attributes
@return [Pin::Closure]
@return [Array<Symbol>]
@return [Symbol]
@return [Solargraph::Source]
@return [Symbol]
Public Class Methods
Source
# File lib/solargraph/parser/region.rb, line 30 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, source: :parser) @scope = scope @visibility = visibility @lvars = lvars end
@param source [Source] @param namespace [String] @param closure [Pin::Closure, nil] @param scope [Symbol, nil] @param visibility [Symbol] @param lvars [Array<Symbol>]
Public Instance Methods
Source
# File lib/solargraph/parser/region.rb, line 64 def code_for node source.code_for(node) end
@param node [Parser::AST::Node] @return [String]
Source
# File lib/solargraph/parser/region.rb, line 41 def filename source.filename end
@return [String]
Source
# File lib/solargraph/parser/region.rb, line 52 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
Generate a new Region with the provided attribute changes.
@param closure [Pin::Closure, nil] @param scope [Symbol, nil] @param visibility [Symbol, nil] @param lvars [Array<Symbol>, nil] @return [Region]