class Prism::Relocation::Repository
repository 是一个配置好的字段集合以及一组条目,它知道如何重新解析源代码并具体化值。
属性
已在此 repository 中保存的条目。
已在此 repository 中配置的字段。
与此 repository 关联的源代码。这可以是 SourceFilepath(最常见的用例)或 SourceString。
Public Class Methods
Source
# File lib/prism/relocation.rb, line 370 def initialize(source) @source = source @fields = {} @entries = Hash.new { |hash, node_id| hash[node_id] = {} } end
使用给定的源代码初始化一个新的 repository。
Public Instance Methods
Source
# File lib/prism/relocation.rb, line 416 def character_columns field(:character_columns, CharacterColumnsField.new) end
为此 repository 配置字符列字段并返回 self。
Source
# File lib/prism/relocation.rb, line 399 def character_offsets field(:character_offsets, CharacterOffsetsField.new) end
为此 repository 配置字符偏移字段并返回 self。
Source
# File lib/prism/relocation.rb, line 422 def code_unit_columns(encoding) field(:code_unit_columns, CodeUnitColumnsField.new(self, encoding)) end
为给定编码的 repository 配置代码单元列字段并返回 self。
Source
# File lib/prism/relocation.rb, line 405 def code_unit_offsets(encoding) field(:code_unit_offsets, CodeUnitOffsetsField.new(self, encoding)) end
为给定编码的 repository 配置代码单元偏移字段并返回 self。
Source
# File lib/prism/relocation.rb, line 377 def code_units_cache(encoding) source.code_units_cache(encoding) end
从源代码为给定的编码创建一个代码单元缓存。
Source
# File lib/prism/relocation.rb, line 410 def columns field(:columns, ColumnsField.new) end
为此 repository 配置列字段并返回 self。
Source
# File lib/prism/relocation.rb, line 440 def comments leading_comments.trailing_comments end
为此 repository 配置前导和尾部注释字段并返回 self。
Source
# File lib/prism/relocation.rb, line 382 def filepath raise ConfigurationError, "Can only specify filepath for a filepath source" unless source.is_a?(SourceFilepath) field(:filepath, FilepathField.new(source.value)) end
为此 repository 配置文件路径字段并返回 self。
Source
# File lib/prism/relocation.rb, line 428 def leading_comments field(:leading_comments, LeadingCommentsField.new) end
为此 repository 配置前导注释字段并返回 self。
Source
# File lib/prism/relocation.rb, line 388 def lines field(:lines, LinesField.new) end
为此 repository 配置行字段并返回 self。
Source
# File lib/prism/relocation.rb, line 393 def offsets field(:offsets, OffsetsField.new) end
为此 repository 配置偏移字段并返回 self。
Source
# File lib/prism/relocation.rb, line 434 def trailing_comments field(:trailing_comments, TrailingCommentsField.new) end
为此 repository 配置尾部注释字段并返回 self。
私有实例方法
Source
# File lib/prism/relocation.rb, line 488 def field(name, value) raise ConfigurationError, "Cannot specify multiple #{name} fields" if @fields.key?(name) @fields[name] = value self end
将给定的字段附加到 repository 并返回 repository,以便这些调用可以被链式调用。