Class: JavaClass::InnerClassesAttribute

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, classes) ⇒ InnerClassesAttribute

コンストラクタ

*java_class::属性の所有者であるJavaクラス *name_index::名前を示すconstant_poolのインデックス *constant_value_index::定数値を示すconstant_poolのインデックス



132
133
134
135
# File 'lib/javaclass/attribute.rb', line 132

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

Instance Attribute Details

#classesObject

インナークラスの配列



150
151
152
# File 'lib/javaclass/attribute.rb', line 150

def classes
  @classes
end

Instance Method Details

#to_bytesObject



139
140
141
142
143
144
145
146
147
# File 'lib/javaclass/attribute.rb', line 139

def to_bytes
  bytes = super
  body = to_byte( @classes.length, 2)
  @classes.each {|c|
    body += c.to_bytes()
  }
  bytes += to_byte( body.length, 4)
  bytes += body
end

#to_sObject



136
137
138
# File 'lib/javaclass/attribute.rb', line 136

def to_s
  @classes.map{|c| c.to_s }.join( "\n" )
end