class JavaClass::ClassFile::Constants::Base

Superclass of all constant values in the constant pool. Every constant has a name, a tag and a size in bytes.

Author

Peter Kofler

Attributes

name[R]
size[R]
slots[R]
tag[R]

Public Class Methods

new(name=nil) click to toggle source

Set default constants.

# File lib/javaclass/classfile/constants/base.rb, line 20
def initialize(name=nil)
  if name
    @name = name
  else 
    @name = self.class.to_s[/::[^:]+$/][10..-1] # skip modules (::) and "Constant"
  end
  @size = 3
  @slots = 1
end

Public Instance Methods

const_class?() click to toggle source

Return false for sanity check if it's a class. Subclasses should overwrite.

# File lib/javaclass/classfile/constants/base.rb, line 36
def const_class?
  false
end
const_field?() click to toggle source

Return false for sanity check if it's a field. Subclasses should overwrite.

# File lib/javaclass/classfile/constants/base.rb, line 41
def const_field?
  false
end
const_method?() click to toggle source

Return false for sanity check if it's a method. Subclasses should overwrite.

# File lib/javaclass/classfile/constants/base.rb, line 46
def const_method?
  false
end
dump() click to toggle source

Return part of debug output.

# File lib/javaclass/classfile/constants/base.rb, line 31
def dump
  "#{@name}\t" # #{@tag}
end