class ADSL::Parser::ASTOneOf

Public Instance Methods

objset_has_side_effects?() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1009
def objset_has_side_effects?
  @objset.nil? ? false : @objset.objset_has_side_effects?
end
optimize() click to toggle source
Calls superclass method ADSL::Parser::ASTNode#optimize
# File lib/adsl/parser/ast_nodes.rb, line 1019
def optimize
  until_no_change super do |oneof|
    oneof.objset.is_a?(ASTOneOf) ? oneof.objset : oneof
  end
end
to_adsl() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1025
def to_adsl
  "oneof(#{ @objset.to_adsl })"
end
typecheck_and_resolve(context) click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 1013
def typecheck_and_resolve(context)
  objset = @objset.typecheck_and_resolve context
  return ADSL::DS::DSEmptyObjset.new if objset.type.nil?
  return ADSL::DS::DSOneOf.new :objset => objset
end