Class: Ibex::Runtime::CST::SerializedTree

Inherits:
Object
  • Object
show all
Defined in:
lib/json5/generated_parser.rb

Overview

Validated CST serialization document and its reconstructed Red root.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(grammar_digest:, table_format:, state_count:, production_count:, trivia_policy:, kinds:, green_root:, memo: nil) ⇒ SerializedTree

Returns a new instance of SerializedTree.

RBS:

  • (grammar_digest: String, table_format: Integer, state_count: Integer, production_count: Integer, trivia_policy: Symbol, kinds: Kind, green_root: GreenNode, ?memo: ParseMemo?) -> void



2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
# File 'lib/json5/generated_parser.rb', line 2131

def initialize(grammar_digest:, table_format:, state_count:, production_count:, trivia_policy:, kinds:,
               green_root:, memo: nil)
  @grammar_digest = grammar_digest.dup.freeze
  @table_format = table_format
  @state_count = state_count
  @production_count = production_count
  @trivia_policy = trivia_policy
  @kinds = kinds
  @green_root = green_root
  @memo = memo
  freeze
end

Instance Attribute Details

#grammar_digestObject (readonly)

Signature:

  • String



2119
2120
2121
# File 'lib/json5/generated_parser.rb', line 2119

def grammar_digest
  @grammar_digest
end

#green_rootObject (readonly)

Signature:

  • GreenNode



2125
2126
2127
# File 'lib/json5/generated_parser.rb', line 2125

def green_root
  @green_root
end

#kindsObject (readonly)

Signature:

  • Kind



2124
2125
2126
# File 'lib/json5/generated_parser.rb', line 2124

def kinds
  @kinds
end

#memoObject (readonly)

Signature:

  • ParseMemo?



2126
2127
2128
# File 'lib/json5/generated_parser.rb', line 2126

def memo
  @memo
end

#production_countObject (readonly)

Signature:

  • Integer



2122
2123
2124
# File 'lib/json5/generated_parser.rb', line 2122

def production_count
  @production_count
end

#state_countObject (readonly)

Signature:

  • Integer



2121
2122
2123
# File 'lib/json5/generated_parser.rb', line 2121

def state_count
  @state_count
end

#table_formatObject (readonly)

Signature:

  • Integer



2120
2121
2122
# File 'lib/json5/generated_parser.rb', line 2120

def table_format
  @table_format
end

#trivia_policyObject (readonly)

Signature:

  • Symbol



2123
2124
2125
# File 'lib/json5/generated_parser.rb', line 2123

def trivia_policy
  @trivia_policy
end

Instance Method Details

#syntax_rootObject

RBS:

  • () -> SyntaxNode



2145
2146
2147
2148
2149
2150
# File 'lib/json5/generated_parser.rb', line 2145

def syntax_root
  source = SourceText.new(@green_root.to_source)
  SyntaxNode.new(
    green: @green_root, kinds: @kinds, trivia_policy: @trivia_policy, source_text: source
  )
end