File: abstract-syntax/core/expression/abstract.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
  class: Abstract#14
inherits from
  Abstract ( Umu::AbstractSyntax )
has properties
method: evaluate / 1 #15
method: simple? #31
method: __evaluate__ / 2 #38

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  class Abstract < Umu::AbstractSyntax::Abstract
  15      def evaluate(env)
  16          value = E::Tracer.trace(
  17                      env.pref,
  18                      env.trace_stack.count,
  19                      'Eval(Expr)',
  20                      self.class,
  21                      self.loc,
  22                      self.to_s
  23                  ) { |event|
  24                      __evaluate__ env, event
  25                  }
  26 
  27          ASR.make_value value
  28      end
  29 
  30 
  31      def simple?
  32          false
  33      end
  34 
  35 
  36  private
  37 
  38      def __evaluate__(_env, _event)
  39          raise X::InternalSubclassResponsibility
  40      end
  41  end
  42 
  43  end # Umu::AbstractSyntax::Core::Expression
  44 
  45  end # Umu::AbstractSyntax::Core
  46 
  47  end # Umu::AbstractSyntax
  48 
  49  end # Umu