Class: IDL::AST::Initializer

Inherits:
Leaf
  • Object
show all
Defined in:
lib/ridl/node.rb,
lib/ridl/node.rb

Overview

StateMember

Direct Known Subclasses

Finder

Constant Summary collapse

NAMETYPE =
:member

Instance Attribute Summary collapse

Attributes inherited from Leaf

#annotations, #enclosure, #intern, #lm_name, #name, #prefix, #scopes

Instance Method Summary collapse

Methods inherited from Leaf

#_set_prefix, #has_annotations?, #is_local?, #is_template?, #lm_name_for_scope, #parsed_name_scope, #replace_prefix, #repo_scopes, #repository_id, #resolve, #scoped_lm_name, #scoped_name, #set_repo_id, #set_repo_version, #typename, #unescaped_name

Constructor Details

#initialize(_name, _enclosure, params) ⇒ Initializer

Returns a new instance of Initializer.



2111
2112
2113
2114
2115
2116
2117
2118
# File 'lib/ridl/node.rb', line 2111

def initialize(_name, _enclosure, params)
  super(_name, _enclosure)
  @params = (params[:params] || []).collect do |(ptype, pname)|
    IDL::AST::Parameter.new(pname, self, {:attribute => :in, :type => ptype})
  end
  @raises = []
  self.raises = params[:raises]
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



2110
2111
2112
# File 'lib/ridl/node.rb', line 2110

def params
  @params
end

#raisesObject

Returns the value of attribute raises.



2110
2111
2112
# File 'lib/ridl/node.rb', line 2110

def raises
  @raises
end

Instance Method Details

#instantiate(_context, _enclosure) ⇒ Object



2140
2141
2142
2143
2144
2145
2146
2147
# File 'lib/ridl/node.rb', line 2140

def instantiate(_context, _enclosure)
  _params = {
    :raises => self.concrete_raises(_context)
  }
  _init = super(_context, _enclosure, _params)
  _init.set_concrete_parameters(_context, @params)
  _init
end

#marshal_dumpObject



2130
2131
2132
# File 'lib/ridl/node.rb', line 2130

def marshal_dump
  super() << @params << @raises
end

#marshal_load(vars) ⇒ Object



2134
2135
2136
2137
2138
# File 'lib/ridl/node.rb', line 2134

def marshal_load(vars)
  @raises = vars.pop
  @params = vars.pop
  super(vars)
end