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

Constructor Details

#initialize(_name, _enclosure, params) ⇒ Initializer

Returns a new instance of Initializer.



2079
2080
2081
2082
2083
2084
2085
2086
# File 'lib/ridl/node.rb', line 2079

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.



2078
2079
2080
# File 'lib/ridl/node.rb', line 2078

def params
  @params
end

#raisesObject

Returns the value of attribute raises.



2078
2079
2080
# File 'lib/ridl/node.rb', line 2078

def raises
  @raises
end

Instance Method Details

#instantiate(_context, _enclosure) ⇒ Object



2108
2109
2110
2111
2112
2113
2114
2115
# File 'lib/ridl/node.rb', line 2108

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



2098
2099
2100
# File 'lib/ridl/node.rb', line 2098

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

#marshal_load(vars) ⇒ Object



2102
2103
2104
2105
2106
# File 'lib/ridl/node.rb', line 2102

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