def add_to_initial_values_block(self, declaration): # todo by KP: factor me out to utils """ Adds the handed over declaration to the initial values block. :param declaration: a single declaration. :type declaration: ast_declaration """ if self.get_initial_blocks() is None: ASTUtils.create_initial_values_block(self) self.get_initial_blocks().get_declarations().append(declaration) return
def add_to_initial_values_block(self, declaration): """ Adds the handed over declaration to the initial values block. :param declaration: a single declaration. :type declaration: ast_declaration """ if self.get_initial_blocks() is None: ASTUtils.create_initial_values_block(self) self.get_initial_blocks().get_declarations().append(declaration) declaration.update_scope(self.get_initial_blocks().get_scope()) from pynestml.visitors.ast_symbol_table_visitor import ASTSymbolTableVisitor symtable_vistor = ASTSymbolTableVisitor() symtable_vistor.block_type_stack.push(BlockType.INITIAL_VALUES) declaration.accept(symtable_vistor) symtable_vistor.block_type_stack.pop() # self.get_initial_blocks().accept(symtable_vistor) from pynestml.symbols.symbol import SymbolKind assert declaration.get_variables()[0].get_scope().resolve_to_symbol( declaration.get_variables()[0].get_name(), SymbolKind.VARIABLE) is not None assert declaration.get_scope().resolve_to_symbol(declaration.get_variables()[0].get_name(), SymbolKind.VARIABLE) is not None