예제 #1
0
 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
예제 #2
0
파일: ast_neuron.py 프로젝트: pnbabu/nestml
    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