#include <ast.h>
Inheritance diagram for structNode::

Public Methods | |
| structNode (const Coord coord=Coord::Unknown) | |
| Create new struct type. More... | |
| virtual | ~structNode () | 
| Destroy a structNode. More... | |
| virtual Node * | clone () const | 
| Clone the input node. More... | |
Type predicates  | |
| virtual bool | is_aggregate () const | 
AST Traversal  | |
| virtual void | visit (Visitor *the_visitor) | 
| Dispatch a Visitor. More... | |
| virtual void | walk (Walker &the_walker) | 
| Dispatch a Walker. More... | |
| virtual Node * | change (Changer &the_changer, bool redispatch=false) | 
| Dispatch a Changer. More... | |
This class represents struct types. Note that it does not represent the definition of the structs, but just an instant of the type. For example, in the declaration "struct A * x;" the AST built would look like this: declNode "x" --> ptrNode --> structNode. The actual definition resides in an suespecNode.
The NodeType is Struct.
      
  | 
  
| 
 Create new struct type. The new struct type has no tag and doesn't refer to any definition. Use the sueNode::spec() methods to get and set the reference to the definition, which also contains the name. 
  | 
  
      
  | 
  
| 
 Destroy a structNode. 
 
  | 
  
      
  | 
  ||||||||||||
| 
 Dispatch a Changer. This abstract method works much the walker, but allows the tree to be changed. 
 Reimplemented from Node.  | 
  
      
  | 
  
| 
 Clone the input node. This is not a "deep" clone, so be careful. For a deep clone, use the clone_changer class. 
 
 Reimplemented from Node.  | 
  
      
  | 
  
| 
 
 Reimplemented from typeNode.  | 
  
      
  | 
  
| 
 Dispatch a Visitor. This abstract method is the entry point for the visitor design pattern. Each node subclass defines a visit() method that calls the appropriate at_ method in the visitor. For more information see the Visitor documentation. 
 Reimplemented from Node.  | 
  
      
  | 
  
| 
 Dispatch a Walker. This abstract method works much like the visitor, but instead walks the entire underlying subtree calling the appropriate at_ method at each node. For more information see the Walker documentation. 
 Reimplemented from Node.  | 
  
1.2.13.1 written by Dimitri van Heesch,
 © 1997-2001