Class: JavaClass::ClassFile::AccessFlags
Overview
The general JVM access flags.
- Author
-
Peter Kofler
Constant Summary
JavaClass::ClassFile::AccessFlagsConstants::ACC_ABSTRACT, JavaClass::ClassFile::AccessFlagsConstants::ACC_ACC_BRIDGE, JavaClass::ClassFile::AccessFlagsConstants::ACC_ANNOTATION, JavaClass::ClassFile::AccessFlagsConstants::ACC_ENUM, JavaClass::ClassFile::AccessFlagsConstants::ACC_FINAL, JavaClass::ClassFile::AccessFlagsConstants::ACC_IMPLICIT, JavaClass::ClassFile::AccessFlagsConstants::ACC_INTERFACE, JavaClass::ClassFile::AccessFlagsConstants::ACC_MANDATED, JavaClass::ClassFile::AccessFlagsConstants::ACC_MODULE, JavaClass::ClassFile::AccessFlagsConstants::ACC_NATIVE, JavaClass::ClassFile::AccessFlagsConstants::ACC_PRIVATE, JavaClass::ClassFile::AccessFlagsConstants::ACC_PROTECTED, JavaClass::ClassFile::AccessFlagsConstants::ACC_PUBLIC, JavaClass::ClassFile::AccessFlagsConstants::ACC_STATIC, JavaClass::ClassFile::AccessFlagsConstants::ACC_STRICT, JavaClass::ClassFile::AccessFlagsConstants::ACC_SUPER, JavaClass::ClassFile::AccessFlagsConstants::ACC_SYNCHRONIZED, JavaClass::ClassFile::AccessFlagsConstants::ACC_SYNTHETIC, JavaClass::ClassFile::AccessFlagsConstants::ACC_TRANSIENT, JavaClass::ClassFile::AccessFlagsConstants::ACC_VARARGS, JavaClass::ClassFile::AccessFlagsConstants::ACC_VOLATILE
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of AccessFlags.
14
15
16
17
18
|
# File 'lib/javaclass/classfile/access_flags.rb', line 14
def initialize(flags)
@flags = flags
correct_flags
assert_flags
end
|
Instance Attribute Details
Returns the value of attribute flags.
12
13
14
|
# File 'lib/javaclass/classfile/access_flags.rb', line 12
def flags
@flags
end
|
Instance Method Details
#abstract? ⇒ Boolean
63
64
65
|
# File 'lib/javaclass/classfile/access_flags.rb', line 63
def abstract?
is? ACC_ABSTRACT
end
|
#annotation? ⇒ Boolean
79
80
81
|
# File 'lib/javaclass/classfile/access_flags.rb', line 79
def annotation?
is? ACC_ANNOTATION
end
|
#enum? ⇒ Boolean
75
76
77
|
# File 'lib/javaclass/classfile/access_flags.rb', line 75
def enum?
is? ACC_ENUM
end
|
#final? ⇒ Boolean
59
60
61
|
# File 'lib/javaclass/classfile/access_flags.rb', line 59
def final?
is? ACC_FINAL
end
|
#flags_hex ⇒ Object
Return the hex word of the flag.
88
89
90
|
# File 'lib/javaclass/classfile/access_flags.rb', line 88
def flags_hex
format '%4.4X', @flags
end
|
#interface? ⇒ Boolean
71
72
73
|
# File 'lib/javaclass/classfile/access_flags.rb', line 71
def interface?
is? ACC_INTERFACE
end
|
#is?(flag) ⇒ Boolean
Return true
if the bit flag is set.
37
38
39
|
# File 'lib/javaclass/classfile/access_flags.rb', line 37
def is?(flag)
(@flags & flag) != 0
end
|
#module? ⇒ Boolean
83
84
85
|
# File 'lib/javaclass/classfile/access_flags.rb', line 83
def module?
is? ACC_MODULE
end
|
#private? ⇒ Boolean
47
48
49
|
# File 'lib/javaclass/classfile/access_flags.rb', line 47
def private?
is? ACC_PRIVATE
end
|
#protected? ⇒ Boolean
51
52
53
|
# File 'lib/javaclass/classfile/access_flags.rb', line 51
def protected?
is? ACC_PROTECTED
end
|
#public? ⇒ Boolean
Also known as:
accessible?
Return true
if the class is public.
42
43
44
|
# File 'lib/javaclass/classfile/access_flags.rb', line 42
def public?
is? ACC_PUBLIC
end
|
#static? ⇒ Boolean
55
56
57
|
# File 'lib/javaclass/classfile/access_flags.rb', line 55
def static?
is? ACC_STATIC
end
|
#synthetic? ⇒ Boolean
67
68
69
|
# File 'lib/javaclass/classfile/access_flags.rb', line 67
def synthetic?
is? ACC_SYNTHETIC
end
|