Class: Abstract (Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case::Polymorph)

Overview
Module Structure
Class Hierarchy
Instance Aliases
Abstract#opt_body_type_sym
Instance Methods
Abstract#initialize / 2
Abstract#desugar_for_rule / 2
Abstract#__fold_rules__ / 1
Abstract#__classify_pattern__ / 7
Abstract#__make_expression__ / 8
Abstract#__make_expression_has_cons__ / 8
Abstract#__make_expression_has_not_cons__ / 5
Abstract#__make_value_morph__ / 4
is a submodule of
module: Polymorph ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case )
has modular siblings
class: Nil   
class: Cons   
class: Otherwise   
class: Unmatch   
inherits from
  Abstract ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case )
is inherited by
  Nil ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case::Polymorph )
  Cons ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case::Polymorph )
has class siblings
  Atom ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case )
  Datum ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case )
  Class ( Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case )
has properties
alias: opt_body_type_sym obj   
method: initialize / 2   
method: desugar_for_rule / 2   
method: __fold_rules__ / 1   
method: __classify_pattern__ / 7   
method: __make_expression__ / 8   
method: __make_expression_has_cons__ / 8   
method: __make_expression_has_not_cons__ / 5   
method: __make_value_morph__ / 4   
is defined at
#24 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb  

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu
  module: ConcreteSyntax
  module: Core
  module: Expression
  module: Nary
  module: Branch
  module: Rule
  module: Case
  class: Abstract
  class: Atom
  class: Datum
  class: Class
  module: Polymorph
class: Abstract     
class: Nil     
class: Cons     
class: Otherwise     
class: Unmatch     

Instance Aliases

Abstract#opt_body_type_sym

#25 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

opt_body_type_sym obj   

Instance Methods

Abstract#initialize / 2

#27 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

initialize ( loc ,
  opt_body_type_sym )

Abstract#desugar_for_rule / 2

#34 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

desugar_for_rule ( env ,
  case_expr )

Abstract#__fold_rules__ / 1

#75 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__fold_rules__ ( rules )

Abstract#__classify_pattern__ / 7

#157 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__classify_pattern__ ( loc ,
  opt_nil_rule ,
  opt_cons_rule ,
  opt_head_type_sym ,
  opt_body_type_sym ,
  opt_otherwise_rule ,
  unmatch_rule )

Abstract#__make_expression__ / 8

#227 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__make_expression__ ( env ,
  case_expr ,
  then_rule ,
  else_rule ,
  has_cons ,
  opt_body_type_sym ,
  opt_cons_rule ,
  opt_head_type_sym )

Abstract#__make_expression_has_cons__ / 8

#262 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__make_expression_has_cons__ ( case_expr ,
  then_expr ,
  else_expr ,
  body_expr ,
  head_var_sym ,
  opt_head_type_sym ,
  tail_var_sym ,
  opt_body_type_sym )

Abstract#__make_expression_has_not_cons__ / 5

#388 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__make_expression_has_not_cons__ ( case_expr ,
  then_expr ,
  else_expr ,
  body_expr ,
  opt_body_type_sym )

Abstract#__make_value_morph__ / 4

#446 in concrete-syntax/core/expression/nary/branch/case/rule/polymoph.rb

__make_value_morph__ ( loc ,
  var_sym ,
  num ,
  opt_body_type_sym = nil )