class IDL::AST::Struct
Constants
- DEFINABLE
Attributes
idltype[R]
Public Class Methods
new(_name, _enclosure, params)
click to toggle source
Calls superclass method
IDL::AST::Node::new
# File lib/ridl/node.rb, line 2512 def initialize(_name, _enclosure, params) @defined = false @recursive = false @forward = params[:forward] ? true : false super(_name, _enclosure) @idltype = IDL::Type::Struct.new(self) end
Public Instance Methods
defined=(f)
click to toggle source
# File lib/ridl/node.rb, line 2524 def defined=(f) @defined = f end
instantiate(instantiation_context, _enclosure)
click to toggle source
Calls superclass method
IDL::AST::Leaf#instantiate
# File lib/ridl/node.rb, line 2570 def instantiate(instantiation_context, _enclosure) _params = { forward: @forward } _s = super(instantiation_context, _enclosure, _params) _s.defined = self.is_defined? _s end
is_defined?()
click to toggle source
# File lib/ridl/node.rb, line 2520 def is_defined? @defined end
is_forward?()
click to toggle source
# File lib/ridl/node.rb, line 2528 def is_forward? @forward end
is_local?(recurstk = [])
click to toggle source
# File lib/ridl/node.rb, line 2548 def is_local?(recurstk = []) # not local if forward decl or recursion detected return false if is_forward? || recurstk.include?(self) recurstk.push self # track root node to detect recursion ret = members.any? { |m| m.is_local?(recurstk) } recurstk.pop ret end
is_recursive?()
click to toggle source
# File lib/ridl/node.rb, line 2532 def is_recursive? @recursive end
marshal_dump()
click to toggle source
Calls superclass method
IDL::AST::Node#marshal_dump
# File lib/ridl/node.rb, line 2558 def marshal_dump super() << @idltype << @defined << @recursive << @forward end
marshal_load(vars)
click to toggle source
Calls superclass method
IDL::AST::Node#marshal_load
# File lib/ridl/node.rb, line 2562 def marshal_load(vars) @forward = vars.pop @recursive = vars.pop @defined = vars.pop @idltype = vars.pop super(vars) end
members()
click to toggle source
# File lib/ridl/node.rb, line 2544 def members @children.find_all { |c| c.is_a? IDL::AST::Member } end
recursive=(f)
click to toggle source
# File lib/ridl/node.rb, line 2536 def recursive=(f) @recursive = f end
walk_members() { |m| ... }
click to toggle source
# File lib/ridl/node.rb, line 2540 def walk_members @children.each { |m| yield(m) unless m.is_a? IDL::AST::Member } end
Protected Instance Methods
walk_members_for_copy() { |c| ... }
click to toggle source
# File lib/ridl/node.rb, line 2581 def walk_members_for_copy @children.each { |c| yield(c) } end