Class: IDL::AST::Derivable

Inherits:
Node show all
Defined in:
lib/ridl/node.rb,
lib/ridl/node.rb

Overview

Include

Direct Known Subclasses

ComponentBase, Interface, Valuetype

Instance Attribute Summary

Attributes inherited from Leaf

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

Instance Method Summary collapse

Methods inherited from Node

#define, #initialize, #introduce, #is_definable?, #marshal_dump, #marshal_load, #match_members, #redefine, #replace_prefix, #resolve, #select_members, #undo_introduction, #walk_members

Methods inherited from Leaf

#has_annotations?, #initialize, #instantiate, #is_local?, #is_template?, #lm_name, #lm_scopes, #marshal_dump, #marshal_load, #replace_prefix, #repository_id, #resolve, #scoped_lm_name, #scoped_name, #set_repo_id, #set_repo_version, #typename, #unescaped_name

Constructor Details

This class inherits a constructor from IDL::AST::Node

Instance Method Details

#has_ancestor?(n) ⇒ Boolean

Returns:

  • (Boolean)


907
908
909
# File 'lib/ridl/node.rb', line 907

def has_ancestor?(n)
  self.has_base?(n) || resolved_bases.any? { |b| b.has_ancestor?(n) }
end

#search_self(_name) ⇒ Object



901
902
903
904
905
# File 'lib/ridl/node.rb', line 901

def search_self(_name)
  node = search_self_before_derived(_name)
  node = search_ancestors(_name) if node.nil?
  node
end

#search_self_before_derivedObject



900
# File 'lib/ridl/node.rb', line 900

alias :search_self_before_derived :search_self