Sha256: 633d96e6ca303ed96df9d1665a2867d1813f8ff3e5c3b9e915bb7fc0315bf61b

Contents?: true

Size: 800 Bytes

Versions: 1

Compression:

Stored size: 800 Bytes

Contents

module Mirah
  module JVM
    module Types
      class MetaType < Type
        attr_reader :unmeta

        def initialize(unmeta)
          super(unmeta.type_system, unmeta.name)
          @unmeta = unmeta
        end

        def basic_type
          @unmeta.basic_type
        end

        def meta?
          true
        end

        def meta
          self
        end

        def superclass
          if @unmeta.superclass
            @unmeta.superclass.meta
          else
            nil
          end
        end

        def interfaces(include_parent=true)
          []
        end

        def jvm_type
          unmeta.jvm_type
        end

        def inner_class?
          basic_type.inner_class?
        end
      end

      class TypeDefMeta < MetaType
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mirah-0.1.0.pre-java lib/mirah/jvm/types/meta_type.rb