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)


136
137
138
139
140
141
142
143
# File 'lib/mirah/jvm/types/methods.rb', line 136

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.



134
135
136
# File 'lib/mirah/jvm/types/methods.rb', line 134

def argument_types
  @argument_types
end

#nameObject (readonly)

Returns the value of attribute name.



134
135
136
# File 'lib/mirah/jvm/types/methods.rb', line 134

def name
  @name
end

#return_typeObject (readonly)

Returns the value of attribute return_type.



134
135
136
# File 'lib/mirah/jvm/types/methods.rb', line 134

def return_type
  @return_type
end

Instance Method Details

#declaring_classObject



145
146
147
# File 'lib/mirah/jvm/types/methods.rb', line 145

def declaring_class
  @class
end