Module: JavaClass::ConstantFactory
- Defined in:
- lib/javaclass/constant.rb
Overview
Constantを新規に作成するためのユーティリティ
Class Method Summary collapse
-
.class_constant(name_index = nil) ⇒ Object
クラスを示すConstantを生成する。 *name_index::クラス名を示すconstant_poolのインデックス.
-
.fieldref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
フィールドを示すConstantを生成する。 *class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス.
-
.int(value) ⇒ Object
整数ののConstantを生成する。 *value::値.
-
.interface_methodref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
インターフェイスのメソッドを示すConstantを生成する。 *class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス.
-
.long(value) ⇒ Object
整数(Long)のConstantを生成する。 *value::値.
-
.methodref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
メソッドを示すConstantを生成する。 *class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス.
-
.name_and_type(name_index = nil, descriptor_index = nil) ⇒ Object
名前と型を示すConstantを生成する。 *name_index::名前を示すconstant_poolのインデックス *descriptor_index::ディスクリプタを示すconstant_poolのインデックス.
-
.string(string_index = nil) ⇒ Object
文字列(String)のConstantを生成する。 *string_index::値を示すUTF8Constantのconstant_poolにおけるインデックス.
-
.utf8(value) ⇒ Object
UTF8のConstantを生成する。 *value::文字列値.
Class Method Details
.class_constant(name_index = nil) ⇒ Object
クラスを示すConstantを生成する。
*name_index::クラス名を示すconstant_poolのインデックス
517 518 519 |
# File 'lib/javaclass/constant.rb', line 517 def class_constant(name_index=nil) ClassConstant.new( nil, Constant::CONSTANT_Class, name_index ) end |
.fieldref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
フィールドを示すConstantを生成する。
*class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス
511 512 513 |
# File 'lib/javaclass/constant.rb', line 511 def fieldref(class_name_index=nil, name_and_type_index=nil) FieldRefConstant.new( nil, Constant::CONSTANT_Fieldref, class_name_index, name_and_type_index ) end |
.int(value) ⇒ Object
整数ののConstantを生成する。
*value::値
462 463 464 |
# File 'lib/javaclass/constant.rb', line 462 def int(value) IntegerConstant.new( nil, Constant::CONSTANT_Integer, value ) end |
.interface_methodref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
インターフェイスのメソッドを示すConstantを生成する。
*class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス
497 498 499 |
# File 'lib/javaclass/constant.rb', line 497 def interface_methodref(class_name_index=nil, name_and_type_index=nil) InterfaceMethodRefConstant.new( nil, Constant::CONSTANT_InterfaceMethodref, class_name_index, name_and_type_index ) end |
.long(value) ⇒ Object
整数(Long)のConstantを生成する。
*value::値
472 473 474 |
# File 'lib/javaclass/constant.rb', line 472 def long(value) LongConstant.new( nil, Constant::CONSTANT_Long, value ) end |
.methodref(class_name_index = nil, name_and_type_index = nil) ⇒ Object
メソッドを示すConstantを生成する。
*class_name_index::フィールドorメソッドを持つクラス名を示すconstant_poolのインデックス *name_and_type_index::フィールドorメソッドの名前とディスクリプタを示すconstant_poolのインデックス
504 505 506 |
# File 'lib/javaclass/constant.rb', line 504 def methodref(class_name_index=nil, name_and_type_index=nil) MethodRefConstant.new( nil, Constant::CONSTANT_Methodref, class_name_index, name_and_type_index ) end |
.name_and_type(name_index = nil, descriptor_index = nil) ⇒ Object
名前と型を示すConstantを生成する。
*name_index::名前を示すconstant_poolのインデックス *descriptor_index::ディスクリプタを示すconstant_poolのインデックス
483 484 485 |
# File 'lib/javaclass/constant.rb', line 483 def name_and_type(name_index=nil, descriptor_index=nil) NameAndTypeConstant.new( nil, Constant::CONSTANT_NameAndType, name_index, descriptor_index ) end |
.string(string_index = nil) ⇒ Object
文字列(String)のConstantを生成する。
*string_index::値を示すUTF8Constantのconstant_poolにおけるインデックス
490 491 492 |
# File 'lib/javaclass/constant.rb', line 490 def string(string_index=nil) StringConstant.new( nil, Constant::CONSTANT_String, string_index ) end |
.utf8(value) ⇒ Object
UTF8のConstantを生成する。
*value::文字列値
456 457 458 |
# File 'lib/javaclass/constant.rb', line 456 def utf8(value) UTF8Constant.new( nil, Constant::CONSTANT_Utf8, value ) end |