Method: ADSL::Parser::ASTBlock#typecheck_and_resolve
- Defined in:
- lib/adsl/parser/ast_nodes.rb
#typecheck_and_resolve(context, open_subcontext = true) ⇒ Object
645 646 647 648 649 650 651 652 653 654 655 656 657 |
# File 'lib/adsl/parser/ast_nodes.rb', line 645 def typecheck_and_resolve(context, open_subcontext=true) context.push_frame if open_subcontext stmts = [] @statements.each do |node| main_stmt = node.typecheck_and_resolve context stmts += context.pre_stmts stmts << main_stmt unless main_stmt.nil? context.pre_stmts = [] end return ADSL::DS::DSBlock.new :statements => stmts.flatten ensure context.pop_frame if open_subcontext end |