Module: Idl::TypeNameSyntaxNode

Defined in:
lib/idlc/ast.rb

Instance Method Summary collapse

Instance Method Details

#to_astObject



7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
# File 'lib/idlc/ast.rb', line 7157

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