Class: Mirah::JVM::Types::Macro

Inherits:
Object
  • Object
show all
Defined in:
lib/mirah/jvm/types/methods.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, name, args, &block) ⇒ Macro

Returns a new instance of Macro.

Raises:

  • (ArgumentError)


116
117
118
119
120
121
122
123
# File 'lib/mirah/jvm/types/methods.rb', line 116

def initialize(klass, name, args, &block)
  raise ArgumentError, "Block required" unless block_given?
  @class = klass
  @name = name
  @argument_types = args
  raise ArgumentError unless args.all?
  @return_type = InlineCode.new(block.to_java(NodeBuilder))
end

Instance Attribute Details

#argument_typesObject (readonly)

Returns the value of attribute argument_types.



114
115
116
# File 'lib/mirah/jvm/types/methods.rb', line 114

def argument_types
  @argument_types
end

#nameObject (readonly)

Returns the value of attribute name.



114
115
116
# File 'lib/mirah/jvm/types/methods.rb', line 114

def name
  @name
end

#return_typeObject (readonly)

Returns the value of attribute return_type.



114
115
116
# File 'lib/mirah/jvm/types/methods.rb', line 114

def return_type
  @return_type
end

Instance Method Details

#declaring_classObject



125
126
127
# File 'lib/mirah/jvm/types/methods.rb', line 125

def declaring_class
  @class
end