Class: MilkTea::LowererResolve::ConstFnLowerEvaluator
- Inherits:
-
Object
- Object
- MilkTea::LowererResolve::ConstFnLowerEvaluator
- Defined in:
- lib/milk_tea/core/lowering/resolve.rb
Instance Method Summary collapse
- #evaluate_compile_time_const_value(expression, scopes: nil) ⇒ Object
-
#initialize(lowerer) ⇒ ConstFnLowerEvaluator
constructor
A new instance of ConstFnLowerEvaluator.
- #raise_sema_error(message) ⇒ Object
- #top_level_function(name) ⇒ Object
- #types ⇒ Object
Constructor Details
#initialize(lowerer) ⇒ ConstFnLowerEvaluator
Returns a new instance of ConstFnLowerEvaluator.
1818 1819 1820 |
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1818 def initialize(lowerer) @lowerer = lowerer end |
Instance Method Details
#evaluate_compile_time_const_value(expression, scopes: nil) ⇒ Object
1826 1827 1828 |
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1826 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
1834 1835 1836 |
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1834 def raise_sema_error() raise CompileTime::Error, end |
#top_level_function(name) ⇒ Object
1830 1831 1832 |
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1830 def top_level_function(name) @lowerer.instance_variable_get(:@ctx).functions&.[](name) end |
#types ⇒ Object
1822 1823 1824 |
# File 'lib/milk_tea/core/lowering/resolve.rb', line 1822 def types @lowerer.instance_variable_get(:@ctx).types end |