Class: JavaClass::SignatureAttribute

Inherits:
Attribute
  • Object
show all
Defined in:
lib/javaclass/attribute.rb

Overview

シグネチャ属性

Instance Attribute Summary collapse

Attributes inherited from Attribute

#java_class, #name_index

Instance Method Summary collapse

Methods inherited from Attribute

#name

Methods included from Base

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

Constructor Details

#initialize(java_class, name_index, signature_index) ⇒ SignatureAttribute

コンストラクタ

*java_class::属性の所有者であるJavaクラス *name_index::名前を示すconstant_poolのインデックス *signature_index::シグネチャを示すconstant_poolのインデックス



392
393
394
395
# File 'lib/javaclass/attribute.rb', line 392

def initialize( java_class, name_index, signature_index )
  super( java_class, name_index)
  @signature_index = signature_index
end

Instance Attribute Details

#signature_indexObject

シグネチャを示すconstant_poolのインデックス



413
414
415
# File 'lib/javaclass/attribute.rb', line 413

def signature_index
  @signature_index
end

Instance Method Details

#signatureObject

シグネチャを取得する。

戻り値::シグネチャ



401
402
403
# File 'lib/javaclass/attribute.rb', line 401

def signature
  @java_class.get_constant_value(@signature_index)
end

#to_bytesObject



407
408
409
410
411
# File 'lib/javaclass/attribute.rb', line 407

def to_bytes
  bytes = super
  bytes += to_byte( 2, 4)
  bytes += to_byte( @signature_index, 2)
end

#to_sObject



404
405
406
# File 'lib/javaclass/attribute.rb', line 404

def to_s
  "// signature #{signature}"
end