001    package edu.rice.cs.javalanglevels.tree;
002    
003    import edu.rice.cs.javalanglevels.SourceInfo;
004    
005    /**
006     * Class AnonymousClassInstantiation, a component of the JExpressionIF composite hierarchy.
007     * Note: null is not allowed as a value for any field.
008     * @version  Generated automatically by ASTGen at Sun Aug 28 23:01:28 CDT 2011
009     */
010    public abstract class AnonymousClassInstantiation extends ClassInstantiation {
011      private final BracedBody _body;
012    
013      /**
014       * Constructs a AnonymousClassInstantiation.
015       * @throws java.lang.IllegalArgumentException  If any parameter to the constructor is null.
016       */
017      public AnonymousClassInstantiation(SourceInfo in_sourceInfo, Type in_type, ParenthesizedExpressionList in_arguments, BracedBody in_body) {
018        super(in_sourceInfo, in_type, in_arguments);
019    
020        if (in_body == null) {
021          throw new java.lang.IllegalArgumentException("Parameter 'body' to the AnonymousClassInstantiation constructor was null. This class may not have null field values.");
022        }
023        _body = in_body;
024      }
025    
026      public BracedBody getBody() { return _body; }
027    
028      public abstract <RetType> RetType visit(JExpressionIFVisitor<RetType> visitor);
029      public abstract void visit(JExpressionIFVisitor_void visitor);
030      public abstract void outputHelp(TabPrintWriter writer);
031      protected abstract int generateHashCode();
032    }