module Xdrgen::AST::Typespecs::Base

Public Instance Methods

array_size() click to toggle source
# File lib/xdrgen/ast/typespecs/base.rb, line 20
def array_size
  raise "Called array_size on a non-array!" unless decl.is_a?(Xdrgen::AST::Declarations::Array)

  [decl.size_spec.named?, decl.size]
end
decl() click to toggle source
# File lib/xdrgen/ast/typespecs/base.rb, line 5
def decl
  find_ancestors(Xdrgen::AST::Declarations::Base).last
end
sub_type() click to toggle source
# File lib/xdrgen/ast/typespecs/base.rb, line 9
def sub_type
  case decl
  when Xdrgen::AST::Declarations::Optional
    :optional
  when Xdrgen::AST::Declarations::Array
    decl.fixed? ? :array : :var_array
  else
    :simple
  end
end