Module: Idl::TypeNameSyntaxNode

Defined in:
lib/idlc/ast.rb

Instance Method Summary collapse

Instance Method Details

#to_astObject



7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
# File 'lib/idlc/ast.rb', line 7142

def to_ast
  me = T.cast(self, SyntaxNode)
  if !me.respond_to?(:i)
    if ReservedWords::BUILTIN_TYPES.include?(me.text_value)
      BuiltinTypeNameAst.new(me.input, me.interval, me.text_value, nil)
    else
      UserTypeNameAst.new(me.input, me.interval, me.text_value)
    end
  else
    BuiltinTypeNameAst.new(me.input, me.interval, me.elements.fetch(0).text_value, T.unsafe(self).i.to_ast)
  end
end