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, #lm_name, #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, #undo_introduction, #walk_members

Methods inherited from Leaf

#_set_prefix, #has_annotations?, #initialize, #instantiate, #is_local?, #is_template?, #lm_name_for_scope, #marshal_dump, #marshal_load, #parsed_name_scope, #replace_prefix, #repo_scopes, #repository_id, #resolve, #scoped_lm_name, #scoped_name, #set_repo_id, #set_repo_version, #typename

Constructor Details

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

Instance Method Details

#has_ancestor?(n) ⇒ Boolean

Returns:

  • (Boolean)


864
865
866
# File 'lib/ridl/node.rb', line 864

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

#search_self(_name) ⇒ Object



858
859
860
861
862
# File 'lib/ridl/node.rb', line 858

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

#search_self_before_derivedObject



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

alias :search_self_before_derived :search_self