| # Class definitions for blocks and frames for GDBtk. |
| # Copyright (C) 1997, 1998, 1999 Cygnus Solutions |
| # |
| # This program is free software; you can redistribute it and/or modify it |
| # under the terms of the GNU General Public License (GPL) as published by |
| # the Free Software Foundation; either version 2 of the License, or (at |
| # your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| |
| itcl::class Block { |
| |
| public { |
| method constructor {start end args} |
| method destructor {} |
| method variables {} |
| method update {} |
| method info {} |
| } |
| |
| private { |
| # Start and end address for this block |
| variable _start |
| variable _end |
| |
| # List of variables (new) variables defined in this block |
| variable _variables |
| |
| method _findVariables {} |
| } |
| } |
| |
| itcl::class Frame { |
| |
| public { |
| method constructor {addr} |
| method destructor {} |
| method variables {} |
| method update {} |
| method new {} |
| method old {} |
| method deleteOld {} |
| method address {} { return $_addr } |
| } |
| |
| private { |
| method _createBlocks {blocks} |
| method _addBlock {block} |
| method _findBlock {block} |
| method _findBlockIndex {block} |
| method _removeBlock {blockObj} |
| method _oldBlocks {} |
| |
| # Our address |
| variable _addr |
| |
| # A list of all blocks |
| variable _blocks |
| } |
| } |