File: concrete-syntax/core/expression/nary/branch/case/rule/abstract.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: ConcreteSyntax#8
  module: Core#10
  module: Expression#12
  module: Nary#14
  module: Branch#16
  module: Rule#18
  module: Case#20
  class: Abstract#22
inherits from
  Model ( Umu::Abstraction )
has properties
attribute: obj [R] #23
method: initialize / 2 #26
method: type_sym #35
method: __escape_string_format__ / 1 #42

Code

   1  # coding: utf-8
   2  # frozen_string_literal: true
   3 
   4 
   5 
   6  module Umu
   7 
   8  module ConcreteSyntax
   9 
  10  module Core
  11 
  12  module Expression
  13 
  14  module Nary
  15 
  16  module Branch
  17 
  18  module Rule
  19 
  20  module Case
  21 
  22  class Abstract < Umu::Abstraction::Model
  23      attr_reader :obj
  24 
  25 
  26      def initialize(loc, obj)
  27          ASSERT.kind_of obj, ::Object
  28 
  29          super(loc)
  30 
  31          @obj = obj
  32      end
  33 
  34 
  35      def type_sym
  36          raise X::InternalSubclassResponsibility
  37      end
  38 
  39 
  40  private
  41 
  42      def __escape_string_format__(s)
  43          s.gsub(/%/, '%%')
  44      end
  45  end
  46 
  47  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case
  48 
  49  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule
  50 
  51  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch
  52 
  53  end # Umu::ConcreteSyntax::Core::Expression::Nary
  54 
  55  end # Umu::ConcreteSyntax::Core::Expression
  56 
  57  end # Umu::ConcreteSyntax::Core
  58 
  59  end # Umu::ConcreteSyntax
  60 
  61  end # Umu