module Rasm::Java::Accessable

Constants

ACC_ABSTRACT
ACC_ANNOTATION
ACC_BRIDGE
ACC_DEPRECATED
ACC_ENUM
ACC_FINAL
ACC_INTERFACE
ACC_NATIVE
ACC_PRIVATE
ACC_PROTECTED
ACC_PUBLIC
ACC_STATIC
ACC_STRICT
ACC_SUPER
ACC_SYNCHRONIZED
ACC_SYNTHETIC
ACC_TRANSIENT
ACC_VARARGS
ACC_VOLATILE
TYPEPATTERN
TYPES

Attributes

access_flags[RW]
name[RW]

Public Instance Methods

access_desc() click to toggle source
# File lib/rasm/java/accessable.rb, line 55
def access_desc
  access = access_flags & ~ ACC_SUPER
  str = ''
  str << 'public ' if ((access & ACC_PUBLIC) != 0)
  str << 'private ' if ((access & ACC_PRIVATE) != 0)
  str << 'protected ' if ((access & ACC_PROTECTED) != 0)
  str << 'final ' if ((access & ACC_FINAL) != 0)
  str << 'static ' if ((access & ACC_STATIC) != 0)
  str << 'synchronized ' if ((access & ACC_SYNCHRONIZED) != 0)
  str << 'volatile ' if ((access & ACC_VOLATILE) != 0)
  str << 'transient ' if ((access & ACC_TRANSIENT) != 0)
  str << 'abstract ' if ((access & ACC_ABSTRACT) != 0)
  str << 'strictfp ' if ((access & ACC_STRICT) != 0)
  str << 'synthetic ' if ((access & ACC_SYNTHETIC) != 0)
  str << 'enum ' if ((access & ACC_ENUM) != 0)
  str
end
typeof(decriptor) click to toggle source
# File lib/rasm/java/accessable.rb, line 42
def typeof(decriptor)
  if m = TYPEPATTERN.match(decriptor)
    type = TYPES[m[1].to_sym]
    if type.respond_to? :call
      type.call(typeof(m[2]))
    else
      type
    end
  else
    decriptor
  end
end