File: abstract-syntax/core/expression/unary/container/abstraction.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: AbstractSyntax#8
  module: Core#10
  module: Expression#12
  module: Unary#14
  module: Container#16
  module: Abstraction#18
  class: Abstract#20
includes
  Enumerable ( Builtin-Module )
inherits from
  Abstract ( Umu::AbstractSyntax::Core::Expression::Unary )
has properties
alias: enum obj #23
method: each #26
method: simple? #31
  class: Expressions#38
inherits from
  Abstract ( Umu::AbstractSyntax::Core::Expression::Unary::Container::Abstraction )
has properties
alias: exprs enum #39
method: initialize / 2 #42
method: each #49

Code

   1  # coding: utf-8
   2  # frozen_string_literal: true
   3 
   4 
   5 
   6  module Umu
   7 
   8  module AbstractSyntax
   9 
  10  module Core
  11 
  12  module Expression
  13 
  14  module Unary
  15 
  16  module Container
  17 
  18  module Abstraction
  19 
  20  class Abstract < Unary::Abstract
  21      include ::Enumerable
  22 
  23      alias enum obj
  24 
  25 
  26      def each
  27          raise X::InternalSubclassResponsibility
  28      end
  29 
  30 
  31      def simple?
  32          false
  33      end
  34  end
  35 
  36 
  37 
  38  class Expressions < Abstract
  39      alias exprs enum
  40 
  41 
  42      def initialize(loc, exprs)
  43          ASSERT.kind_of exprs, ::Array
  44 
  45          super
  46      end
  47 
  48 
  49      def each
  50          self.exprs.each do |expr|
  51              ASSERT.kind_of expr, ASCE::Abstract
  52 
  53              yield expr
  54          end
  55      end
  56  end
  57 
  58  end # Umu::AbstractSyntax::Core::Expression::Unary::Container::Abstraction
  59 
  60  end # Umu::AbstractSyntax::Core::Expression::Unary::Container
  61 
  62  end # Umu::AbstractSyntax::Core::Expression::Unary
  63 
  64  end # Umu::AbstractSyntax::Core::Expression
  65 
  66  end # Umu::AbstractSyntax::Core
  67 
  68  end # Umu::AbstractSyntax
  69 
  70  end # Umu