Class: MilkTea::LowererResolve::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.



1787
1788
1789
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1787

def initialize(lowerer)
  @lowerer = lowerer
end

Instance Method Details

#evaluate_compile_time_const_value(expression, scopes: nil) ⇒ Object



1791
1792
1793
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1791

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

#raise_sema_error(message) ⇒ Object

Raises:



1799
1800
1801
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1799

def raise_sema_error(message)
  raise CompileTime::Error, message
end

#top_level_function(name) ⇒ Object



1795
1796
1797
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1795

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