File: reader/ruby1.8/parser/types.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: TmDoc#10
  module: Reader
  module: Ruby18#12
  module: Parser#14
  class: Context#16
inherits from
  Abstract ( TmStd::Lsm::Product )
has properties
method: initialize / 2 #17
method: in_unique_class? #26
method: in_module_func? #31
method: update_unique_class / 1 #36
method: update_module_func / 1 #43
  class: Argument#52
inherits from
  Abstract ( TmStd::Lsm::Product )
has properties
attribute: name [R] #53
attribute: line_num [R] #53
method: initialize / 2 #56
  class: SeqOfArgument#66
includes
  Mutable ( TmStd::Lsm::Collection::Sequence )
inherits from
  Abstract ( TmStd::Lsm::Collection::Sequence )
has properties
constant: LSM_ELEMENT_CLASS #69

Code

   1  # $Id: types.rb,v 1.2 2011/12/08 22:54:35 machan Exp $
   2 
   3  require 'tmdoc/tmstd'
   4  require 'tmdoc/constant'
   5  require 'tmdoc/environment'
   6  require 'tmdoc/model/core'
   7  require 'tmdoc/reader/ruby1.8/scanner'
   8 
   9 
  10  module TmDoc
  11 
  12  module Reader::Ruby18
  13 
  14  module Parser
  15 
  16  class Context < TmStd::Lsm::Product::Abstract
  17      def initialize(in_unique_class = false, in_module_func = false)
  18          ASSERT.boolean in_unique_class
  19          ASSERT.boolean in_module_func
  20 
  21          @in_unique_class    = in_unique_class
  22          @in_module_func     = in_module_func
  23      end
  24 
  25 
  26      def in_unique_class?
  27          @in_unique_class
  28      end
  29 
  30 
  31      def in_module_func?
  32          @in_module_func
  33      end
  34 
  35 
  36      def update_unique_class(in_unique_class)
  37          ASSERT.boolean in_unique_class
  38 
  39          Context.new(in_unique_class, self.in_module_func?)
  40      end
  41 
  42 
  43      def update_module_func(in_module_func)
  44          ASSERT.boolean in_module_func
  45 
  46          Context.new(self.in_unique_class?, in_module_func)
  47      end
  48  end
  49 
  50 
  51 
  52  class Argument < TmStd::Lsm::Product::Abstract
  53      attr_reader :name, :line_num
  54 
  55 
  56      def initialize(name, line_num)
  57          ASSERT.kind_of name,        String
  58          ASSERT.kind_of line_num,    Integer
  59 
  60          @name       = name
  61          @line_num   = line_num
  62      end
  63  end
  64 
  65 
  66  class SeqOfArgument < TmStd::Lsm::Collection::Sequence::Abstract
  67      include TmStd::Lsm::Collection::Sequence::Mutable
  68 
  69      LSM_ELEMENT_CLASS = Argument
  70  end
  71 
  72  end # TmDoc::Reader::Ruby18::Parser
  73 
  74  end # TmDoc::Reader::Ruby18
  75 
  76  end # TmDoc