Class: JavaClass::ClassConstant

Inherits:
Constant
  • Object
show all
Defined in:
lib/javaclass/constant.rb

Overview

ClassConstant

Constant Summary

Constants inherited from Constant

JavaClass::Constant::CONSTANT_Class, JavaClass::Constant::CONSTANT_Double, JavaClass::Constant::CONSTANT_Fieldref, JavaClass::Constant::CONSTANT_Float, JavaClass::Constant::CONSTANT_Integer, JavaClass::Constant::CONSTANT_InterfaceMethodref, JavaClass::Constant::CONSTANT_Long, JavaClass::Constant::CONSTANT_Methodref, JavaClass::Constant::CONSTANT_NameAndType, JavaClass::Constant::CONSTANT_String, JavaClass::Constant::CONSTANT_Utf8

Instance Attribute Summary collapse

Attributes inherited from Constant

#java_class, #tag

Instance Method Summary collapse

Methods included from Base

#==, #===, #dump, #eql?, #hash, #to_byte

Constructor Details

#initialize(java_class, tag = nil, name_index = nil) ⇒ ClassConstant

コンストラクタ

*java_class::constantの所有者であるJavaクラス *tag::constantの種類を示すタグ *name_index::名前を示すconstant_poolのインデックス



54
55
56
57
# File 'lib/javaclass/constant.rb', line 54

def initialize( java_class, tag=nil, name_index=nil )
  super( java_class, tag )
  @name_index = name_index
end

Instance Attribute Details

#name_indexObject

Returns the value of attribute name_index.



70
71
72
# File 'lib/javaclass/constant.rb', line 70

def name_index
  @name_index
end

Instance Method Details

#nameObject

クラス名を取得する。

戻り値::クラス名



63
64
65
66
# File 'lib/javaclass/constant.rb', line 63

def name
  value = @java_class.get_constant_value(@name_index)
  return value.gsub(/\//, ".")
end

#to_bytesObject



67
68
69
# File 'lib/javaclass/constant.rb', line 67

def to_bytes()
  super + to_byte( @name_index, 2)
end