class ADSL::Parser::ASTCreateObjset

Public Instance Methods

objset_has_side_effects?() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 746
def objset_has_side_effects?; true; end
to_adsl() click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 758
def to_adsl
  "create(#{ @class_name.text })"
end
typecheck_and_resolve(context) click to toggle source
# File lib/adsl/parser/ast_nodes.rb, line 748
def typecheck_and_resolve(context)
  klass_node, klass = context.classes[@class_name.text]
  raise ADSLError, "Undefined class #{@class_name.text} referred to at line #{@class_name.lineno}" if klass.nil?
  if @create_obj.nil?
    @create_obj = ADSL::DS::DSCreateObj.new :klass => klass
    context.pre_stmts << @create_obj
  end
  ADSL::DS::DSCreateObjset.new :createobj => @create_obj
end