class Pione::Lang::ParamContext
ParamContext
is a context for parameter block. This context takes special interpretation of variable binding declaration.
Public Instance Methods
eval(env)
click to toggle source
Calls superclass method
Pione::Lang::StructuralContext#eval
# File lib/pione/lang/context.rb, line 139 def eval(env) if elements.any? {|elt| elt.is_a?(VariableBindingDeclaration)} set(elements: elements.map {|elt| transform(elt)}).eval(env) else super end end
transform(declaration)
click to toggle source
Trasform variable binding declarations into param declarations.
# File lib/pione/lang/context.rb, line 148 def transform(declaration) if declaration.is_a?(VariableBindingDeclaration) ParamDeclaration.new(type, declaration.expr1, declaration.expr2) else declaration end end