Class: MilkTea::Lowering::Resolve::ConstFnLowerEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/milk_tea/core/lowering/resolve.rb

Instance Method Summary collapse

Constructor Details

#initialize(lowerer) ⇒ ConstFnLowerEvaluator

Returns a new instance of ConstFnLowerEvaluator.



1804
1805
1806
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1804

def initialize(lowerer)
  @lowerer = lowerer
end

Instance Method Details

#evaluate_compile_time_const_value(expression, scopes: nil) ⇒ Object



1812
1813
1814
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1812

def evaluate_compile_time_const_value(expression, scopes: nil)
  @lowerer.compile_time_const_value(expression, env: @lowerer.empty_env)
end

#top_level_function(name) ⇒ Object



1816
1817
1818
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1816

def top_level_function(name)
  @lowerer.instance_variable_get(:@ctx).functions&.[](name)
end

#typesObject



1808
1809
1810
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1808

def types
  @lowerer.instance_variable_get(:@ctx).types
end