Module: MilkTea::CompileTime
- Defined in:
- lib/milk_tea/core/compile_time.rb
Defined Under Namespace
Modules: Reflection
Classes: BlockContext, Error, Evaluator, ReturnValue
Constant Summary
collapse
- Layout =
::MilkTea::Types::Layout
Class Method Summary
collapse
Class Method Details
.boolean_value?(value) ⇒ Boolean
38
39
40
|
# File 'lib/milk_tea/core/compile_time.rb', line 38
def self.boolean_value?(value)
value == true || value == false
end
|
.equality_result(left, right) ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'lib/milk_tea/core/compile_time.rb', line 29
def self.equality_result(left, right)
return left == right if left.is_a?(Numeric) && right.is_a?(Numeric)
return left == right if left.is_a?(String) && right.is_a?(String)
return left == right if boolean_value?(left) && boolean_value?(right)
return left == right if left.is_a?(Types::Base) && right.is_a?(Types::Base)
nil
end
|
.evaluate(expression, resolve_identifier:, resolve_member_access:, resolve_type_ref: nil, resolve_call: nil) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/milk_tea/core/compile_time.rb', line 20
def self.evaluate(expression, resolve_identifier:, resolve_member_access:, resolve_type_ref: nil, resolve_call: nil)
Evaluator.new(
resolve_identifier:,
resolve_member_access:,
resolve_type_ref:,
resolve_call:,
).evaluate(expression)
end
|