File: value/core/opaque.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: Value#8
  module: Core#10
has properties
function: make_opaque / 1 #42
  class: Opaque#12
inherits from
  Top ( Umu::Value::Core )
has properties
attribute: obj [R] #13
method: initialize / 1 #16
method: to_s #25
method: pretty_print / 1 #30

Class Hierarchy

Object ( Builtin-Module )
Top ( Umu::Value::Core )
  Opaque    #12

Code

   1  # coding: utf-8
   2  # frozen_string_literal: true
   3 
   4 
   5 
   6  module Umu
   7 
   8  module Value
   9 
  10  module Core
  11 
  12  class Opaque < Top
  13      attr_reader :obj
  14 
  15 
  16      def initialize(obj)
  17          ASSERT.kind_of obj, ::Object
  18 
  19          super()
  20 
  21          @obj = obj
  22      end
  23 
  24 
  25      def to_s
  26          format "#Opaque<%s>", self.obj.inspect
  27      end
  28 
  29 
  30      def pretty_print(q)
  31          PRT.group q, bb:'#Opaque<', eb:'>' do
  32              q.pp self.obj
  33          end
  34      end
  35  end
  36  Opaque.freeze
  37 
  38 
  39 
  40  module_function
  41 
  42      def make_opaque(obj)
  43          ASSERT.kind_of obj, ::Object
  44 
  45          Opaque.new(obj).freeze
  46      end
  47 
  48  end # Umu::Value::Core
  49 
  50  end # Umu::Value
  51 
  52  end # Umu