class ADSL::Parser::ASTIn

Public Instance Methods

to_adsl() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1391
def to_adsl
  "#{ @objset1.to_adsl } in #{ @objset2.to_adsl }"
end
typecheck_and_resolve(context) click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1380
def typecheck_and_resolve(context)
  objset1 = @objset1.typecheck_and_resolve context
  objset2 = @objset2.typecheck_and_resolve context
  
  return ADSL::DS::Boolean::TRUE if objset1.type.nil?
  return ADSL::DS::DSEmpty.new :objset => objset1 if objset2.type.nil?
  
  raise ADSLError, "Object sets are not of compatible types: #{objset1.type.name}, #{objset2.type.name}" unless objset2.type.superclass_of? objset1.type
  return ADSL::DS::DSIn.new :objset1 => objset1, :objset2 => objset2
end